Introduction to HTTP Versions

CS4984 - WWW: The Underlying Technology

The protocols used to deliver documents between WWW servers and clients is the Hypertext Transfer Protocol (HTTP). It runs on top of the TCP/IP protocol suite.

Here's a brief history of HTTP:


HTTP 0.9

Simple application-level protocol for the Web, which did raw data transfer.


HTTP 1.0
Defined in RFC 1945. Added MIME-like messages, header lines containing information about the data being transfered and modifiers for the request/response messages. As of May 1996, the current protocol version was HTTP 1.0 (draft 7).


HTTP 1.1

Goal:

Achieve higher end-user performance than HTTP 1.0

Features include the following:


HTTP Digest Authentication Mechanism

Goal:

Addresses security

Summary:

Defines method for authenticating a user to an HTTP server without exposing user's passwords to potential eavsedroppers.  Method uses cryptographic hashes, or message digests.  This is an improvement over HTTP's original "Basic" authentication, which is in common use today.


As of June 1999, latest proposal is RFC 2617.


HTTP/NG
Another proposed modification of HTTP 1.0 is HTTP-NG (NG=Next Generation).

Problems Addressed:

  • HTTP 1.x is complex and becoming strained.
  • HTTP 1.x is not modular.  It mixes three concerns:
    • message transport
    • remove method invocation
    • methods historically for document processing (form processing and searching)
  • People are trying to layer complex applications on HTTP 1.x
  • People are "tunneling" various application protocols through HTTP 1.x's GET and POST methods - making it hard for a firewall to identify what the purpose of an HTTP message.

Key features include:

  • Simplicity
  • Distributed extensibility (see later)
  • Global scalability (Web performance ok as Internet size increases)
  • Greater efficiency than HTTP 1.x
  • Layering:

For more info:


HTTP Extension Framework
Last modified on 12 September 1999 by abrams@vt.edu.
[This is http://ei.cs.vt.edu/~wwwbtb/Notes/Protocols/intro.html.]