Web Programming Concepts Glossary

65
rate or flag this page

By learnprogramming


This is a continuous growing list of terms for Web Programming Concepts.

CGI (Common Gateway Interface)

CGI is a simple protocol used to communicate between Web forms and a program written in any language that can read STDIN, write to STDOUT, and read environment variables - i.e. virtually any programming language, including C, Perl, or even shell scripting.

HTTP (Hypertext Transfer Protocol)

It's the network protocol used to deliver virtually all files and other data (collectively called resources) on the World Wide Web, whether they're HTML files, image files, query results, or anything else.

HTTP is a stateless protocol.

HTTP/1.0

HTTP 1.0 was never made an official Internet standard, but the de facto standard is described in RFC 1945.

To be compatible with older browsers, HTTP 1.1 servers must support HTTP 1.0 requests. In particular, when a request uses HTTP 1.0 (as identified in the initial request line),

  • don't require the Host: header, and
  • don't send the "100 Continue" response.


HTTP 1.1

HTTP 1.1 was developed by a working group of the IETF. The resulting specification is RFC 2616, released in June 1999.

To comply with HTTP 1.1, servers must:

* require the Host: header from HTTP 1.1 clients

* accept absolute URL's in a request

* accept requests with chunked data

* either support persistent connections, or include the "Connection: close" header with each response

* use the "100 Continue" response appropriately

* include the Date: header in each response

* handle requests with If-Modified-Since: or If-Unmodified-Since: headers

* support at least the GET and HEAD methods

* support HTTP 1.0 requests

HTTP message

The format of the request and response messages are similar, and English-oriented. Both kinds of messages consist of:

  • an initial line,
  • zero or more header lines,
  • a blank line (i.e. a CRLF by itself), and
  • an optional message body (e.g. a file, or query data, or query output).

HTTP Transaction

Like most network protocols, HTTP uses the client-server model: An HTTP client opens a connection and sends a request message to an HTTP server; the server then returns a response message, usually containing the resource that was requested. After delivering the response, the server closes the connection (making HTTP a stateless protocol).

HTTP Client

The one which opens a connection and sends a request message. Example a Browser.

HTTP Server

The one which returns a response message to a request message.

Initial Request Line

A request line has three parts, separated by spaces: a method name, the local path of the requested resource, and the version of HTTP being used.

A typical request line is:

GET /path/to/file/index.html HTTP/1.0

Multi-Homed IP Address

Starting with HTTP 1.1, one server at one IP address can be multi-homed, i.e. the home of several Web domains. For example, "www.host1.com" and "www.host2.com" can live on the same server.

Thus, every HTTP request must specify which host name (and possibly port) the request is intended for, with the Host: header. A complete HTTP 1.1 request might be

GET /path/file.html HTTP/1.1

Host: www.host1.com:80

[blank line here]

The ":80" isn't required, since that's the default HTTP port.

Protocol Handler

Web browsers support standard protocols (HTTP, FTP, e-mail) but also application-specific protocols which are handled by a program module called Protocol Handler.

Ressource

A resource is some chunk of information. The most common kind of resource is a file, but a resource may also be a dynamically-generated query result, the output of a CGI script, a document that is available in several languages, or something else.

A ressource can be identified by a URL (it's the R in URL).

Session Tracking

There are a number of problems that arise from the fact that HTTP is a "stateless" protocol. In particular, when you are doing on-line shopping, the Web server can't easily easily remember previous transactions because turn-around solutions must be used:

There are three typical solutions to this problem.

  1. Cookies. You can use HTTP cookies to store information about a shopping session, and each subsequent connection can look up the current session and then extract information about that session from some location on the server machine.
  2. URL Rewriting. You can append some extra data on the end of each URL that identifies the session, and the server can associate that session identifier with data it has stored about that session. This is also an excellent solution, and even has the advantage that it works with browsers that don't support cookies or where the user has disabled cookies.
  3. Hidden form fields. HTML forms have an entry that looks like the following: <INPUT TYPE="HIDDEN" NAME="session" VALUE="...">. This means that, when the form is submitted, the specified name and value are included in the GET or POST data. This can be used to store information about the session.

SOAP (Simple Object Access Protocol)

You call Web services with messages written in some format like the SOAP format which defines what an HTTP message containing a SOAP message must look like.

Socket

The socket is the Unix BSD method for accomplishing interprocess communication (IPC). What this means is a socket is used to allow one process to speak to another, very much like the telephone is used to allow one person to speak to another.

Stateless Protocol

A protocol which doesn't maintain any connection information between transactions. HTTP is a stateless protocol.

Status Line

The status line, is the initial response line. It also has three parts separated by spaces: the HTTP version, a response status code that gives the result of the request, and an English reason phrase describing the status code. Typical status lines are:

HTTP/1.0 200 OK

or

HTTP/1.0 404 Not Found

UDDI (Universal Description, Discovery, and Integration)

UDDI is a kind of "yellow pages" on the Internet for the industry.

Web Service

A Web service is a standardized way for applications to communicate with each other over standard internet protocols. Web services are a relatively new way to achieve distributed computing because Web services are "loosely coupled:" they can be developed using any programming language and can run on any platform because they communicate via XML.

WSDL (Web Services Description Language)

The WSDL document can be divided into two groups: the Abstract Definitions Group and the Concrete Descriptions Group. The abstract sections define SOAP messages in a platform and language independent manner. The concrete sections are site-specific, machine-specific, or language-specific.

XML

XML is a mainstream, non-proprietary, simple but very flexible text format for exchanging data. Using XML, applications can communicate using Web services even if they are written in different programming languages and run on different operating systems.

Print   —   Rate it:  up  down  flag this hub

working