CPET 499/ITC Web Systems
November 18, 2014
Web Server and Application
Servers Integration
· Types of Servers
· Web Content Management
o Web Content Manager, http://www-03.ibm.com/software/products/en/ibmwebcontmana
· Enterprise Application Integration (EAI)
o IBM Enterprise Application Integration: Time to market imperative driving investment in EAI, http://www-01.ibm.com/software/info/itsolutions/eai/timetomarket/
o IBM Connectivity, Integration and SOA, http://www-03.ibm.com/software/products/en/category/connectivity-integration-soa
o Tutorial 1: Enterprise Application Integration, 2010, http://msdn.microsoft.com/en-us/library/aa578030.aspx
· Enterprise Data Integration (EDI)
· CGI (Common Gateway Interface)
· HTTP (HyperText Transfer Protocol) Protocols
o HTTP/1.1, 1999, http://www.w3.org/Protocols/rfc2616/rfc2616.html
o HTTP/1.1 RFC 2817: Upgrading to TLS within HTTP/1.1 (Transport Layer Security), May 2000, https://www.ietf.org/rfc/rfc2817.txt
o HTTP/1.1 RFC 7230: Message Syntax and Routing, June 2014, https://tools.ietf.org/html/rfc7230
o HTTP/1.1 RFC 7231: Semantics and Content, June 2014, https://tools.ietf.org/html/rfc7231
o HTTP/1.1 RFC 7232: Conditional Requests, June 2014, https://tools.ietf.org/html/rfc7232
o HTTP/1.1 RFC 7233: Range Requests, June 2014, https://tools.ietf.org/html/rfc7233
o HTTP/1.1 RFC 7234: Caching, June 2014, https://tools.ietf.org/html/rfc7234
o HTTP/1.1 RFC 7235: Authentication, June 2014, https://tools.ietf.org/html/rfc7235
o HTTP/1.1 RFC 7236: Authentication Scheme Registrations, June 2014, https://tools.ietf.org/html/rfc7236
o HTTP/1.1 RFC 7237: Method Registrations, June 2014, https://tools.ietf.org/html/rfc7237
· Server Configuration
Web Servers
Application
Servers and Distributed Client/Server Application
CGI
(Common Gateway Interface)
The Common Gateway Interface (CGI) [22] allows an HTTP [1], [4] server and a CGI script to share responsibility for responding to client requests. The client request comprises a Uniform Resource Identifier (URI) [11], a request method and various ancillary information about the request provided by the transport protocol.
The CGI defines the abstract parameters, known as meta-variables, which describe a client's request. Together with a concrete programmer interface this specifies a platform-independent interface between the script and the HTTP server.
The server is responsible for managing connection, data transfer, transport and network issues related to the client request, whereas the CGI script handles the application issues, such as data access and document processing.
CGI
Environment Variables
A list of environment variable defined by CGI standard is as shown below:
Variables |
Purpose |
AUTH_TYPE |
If the server supports user
authentication, and the script is protects, this is the protocol-specific
authentication method used to validate the user. |
CONTENT_TYPE |
It specifies the media type
of the data for queries, which have attached information, such as HTTP POST
and PUT, this is the content type of the data. |
CONTENT_LENGTH |
The length (number of bytes)
of information passed to the script. |
GATEWAY_INTERFACE |
The name and version of the
protocol being used by the server to communicate with the script. Format:
CGI/revision |
PATH_INFO |
It provides any extra path
information, as given in the URL, for accessing this script. The extra
information is sent as PATH_INFO to be decoded by the server before it is
passed to the CGI script. |
PATH_TRANSLATED |
It gives the absolute file
system path for access the script. The server provides a translated version
of PATH_INFO, which takes the path and does any virtual-to-physical mapping
to it. |
QUERY_STRING |
Any additional information
passed to the script after the ? mark
in the URL which referenced this script is called the query information. It
should not be decoded in any fashion. |
REMOTE_HOST |
It contains a fully
qualified domain name of the client computer. If the host name cannot be
determined, it should set REMOTE_ADDR to hold the IP address of the host and
leave this variable unset. |
REMOTE_ADDR |
The IP address of the remote
client computer making the request. |
REMOTE_IDENT |
The client machine's username.
Usage of this variable should be limited to logging only. |
SCRIPT_NAME |
A virtual path to the script
being executed, used for self-referencing URLs. |
REMOTE_USER |
The name used to
authenticate the user for accessing the script. |
SERVER_SOFTWARE |
The name and version of the
information server software answering the request (and running the gateway). # Format: name/version |
SERVER_NAME |
The server's hostname, DNS
alias, or IP address as it would appear in self-referencing URLs. |
SERVER_PROTOCOL |
The name and revision of the
information protocol this request came in with. Format: protocol/revision. |
SERVER_PORT |
The port number to which the
request was sent. |
REQUEST_METHOD |
The method with which the
request was made. For HTTP, this is "GET", "HEAD",
"POST", etc. |
HTTP_ACCEPT |
Gives a comma-separated list
of MIME types that the client can accept. |
HTTP_REFERER |
Provides the address of the
page where the request originated. |
HTTP_USER_AGENT |
Specifies the name of the
client program used to make the request. |
Status (Error
Code) for Client and Server
Client Errors Code
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested range not valid
417 Failed
418 Failed
Server Error
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Redirection failed
Web Master Tools
· Apache HTTP Server Project, http://httpd.apache.org/
· Apache Webmaster Tools & Utilities, https://www.apachelounge.com/viewforum.php?f=8
· Chapter 26, Apache HTTP Server Configuration, https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/ch-httpdconfig.html
· Understanding Setup in IIS 7, http://www.iis.net/learn/install/installing-iis-7/understanding-setup-in-iis
· Getting Started with the IIS Manager in IIS 7 and IIS 8, http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-the-iis-manager-in-iis-7-and-iis-8
· IBM HTTP Server, http://httpd.apache.org/
· Oracle HTTP Server, https://docs.oracle.com/cd/E21764_01/web.1111/e10144/intro_ohs.htm#HSADM101
Web Services and Cloud Computing
· Standards and Web Services, http://www.ibm.com/developerworks/webservices/standards/
· Amazon Web Services, http://aws.amazon.com/
· AWS EC2 (Elastic Compute Cloud), Amazon S3 (Simple Storage Service), Commercial RDBMS
·