3. HTTP protocol
The Hypertext Transfer Protocol (HTTP) has been used on the Web since 1990. HTTP was defined by Tim Berners-Lee as "an application-level protocol for hypermedia, cooperative and distributed information systems".
the first version of the protocol, called HTTP 0.9, defined a basic protocol for transferring raw data over the Internet. The HTTP 1.0 version specified in RFC 1945 defined a more elaborate protocol that allowed message exchange in MIME format. A new version of this protocol, called HTTP 1.1, defined jointly by the W3C consortium and an IETF working group, was standardized in July 1999.
3.1 Question-and-answer protocol
HTTP is a stateless, question-and-answer protocol built...
Connection closed by foreign host.
bmartin@maillol%
In this scheme, the connection is maintained throughout the session and disconnected at the end of the exchange, which is particularly costly in terms of performance, especially when transferring images in-line. In the new version of the protocol standardized by the IETF in 1999 (RFC 2616), the connection can be maintained during a series of question-and-answer exchanges between client and server. This new version of the protocol also makes it possible to access only part of a large document, and to multiplex access to several images within the same document. The security aspects of the protocol, i.e. authentication and encryption, are covered in the 8 section. It should be noted that the communication scheme becomes more complex when intermediate elements, such as proxies, gateways and tunnels, appear in the request-response chain between client and server.
The following methods are defined in HTTP 1.1:
OPTIONS: used to determine the options and/or constraints associated with a resource designated by its URI ;
GET: to obtain a document designated by the URI, to execute a script designated by a URI and whose result is transmitted to the client, to carry out searches. GET semantics can be modified if modifiers are specified;
HEAD: similar to GET, but only meta-information is returned. Allows you to obtain information such as the update date, the nature of the server... ;
POST: allows you to annotate documents, post a message to a newsgroup or mailing list, pass the contents of a form, add an element to a database;
PUT: to update the version of a document ;
DELETE : asks the server to destroy the resource identified by the URI ;
TRACE: displays information received by the server.
3.2 Data formats
When the dialogue between client and server is established, the client provides a list of the types it can process (mime.types file). When a file is to be transferred to the client, the server looks at the filename extension to deduce the MIME type of the file: .htm or .html for HTML documents, .doc for Word documents, .ps for Postscript files... The MIME protocol was developed to enable the transfer of multimedia documents by e-mail, and is defined by RFC 1521. Only the MIME file header is used by the HTTP protocol. By indicating the type of MIME file in the header of the message sent, the server enables the browser to determine the processing to be carried out for this type of data. It is the server's responsibility to determine the best match between the file type and the MIME types supported by the client. This phase is called format negotiation.
This mechanism is dynamic in the sense that the administrator can configure the system and the user can configure the browser to accept and process new MIME types. Once this type is known to the browser, it can decide how to process it. The nature of the processing obviously depends on the type, and can be carried out :
directly by the browser, as in the case of HTML files ;
by external programs, or helper applications, in other cases (Word files, audio, video...). In the case of a Word file, for example, the Word program will be called up by the browser to view the document just transferred by the server to the browser.
Figure 8 shows the list of supported MIME types and the programs associated with processing documents of these types (Options/GeneralPreferences/Helpers) for a Netscape browser for Macintosh.
3.3 Developments
The W3C consortium is working on the development of a new family of protocols that will resolve the problems encountered with HTTP/l.x protocols, such as scalability, bandwidth, and server and/or network overload at any given time. These new protocols should also enable :
the effective use of multimedia, videoconferencing... and therefore take into account the real-time constraints associated with these new applications;
support for commercial transactions, including security and online payment;
offline processing (for laptops, for example);
support for wireless networks (WAP protocol) ;
interoperability with other distributed object environments, and in particular support for CORBA's IIOP protocol .
IIOP is a communication protocol between objects and applications on the Internet, based on the CORBA architecture of the Object Management Group (OMG).
This new family of protocols includes :
protocols for managing caches and proxies ;
HTTP-NG (HTTP New Generation) protocol for data transport between the browser and servers. This protocol must enable priority management, asynchronous communications (in batch mode), and guarantee good performance despite the use of low-bandwidth channels.
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
![](/assets/images/logo-eti-286623ed91fa802ce039246e516e5852.png)
The Ultimate Scientific and Technical Reference
This article is included in
Software technologies and System architectures
This offer includes:
Knowledge Base
Updated and enriched with articles validated by our scientific committees
Services
A set of exclusive tools to complement the resources
Practical Path
Operational and didactic, to guarantee the acquisition of transversal skills
Doc & Quiz
Interactive articles with quizzes, for constructive reading
HTTP protocol
Bibliography
Works
Websites
Internet Drafts http://www.ietf.org
Python http://www.python.org
Organizations
World Wide Web Consortium W3C http://www.w3.org
Organisation européenne pour la recherche nucléaire CERN http://public.web.cern.ch
Internet Software Consortium ISC http://www.isc.org
European Computer Manufacturers Association ECMA http://www.ecma.ch
Internet Corporation Assigned names and Numbers ICANN http://www.icann.org...
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
![](/assets/images/logo-eti-286623ed91fa802ce039246e516e5852.png)
The Ultimate Scientific and Technical Reference