The HTTP Protocol Supports transferring data of various types between a client and a server. Data type support is done using MIME types and MIME encoding. In version 1.0, a connection was open from the client to the server for each piece of data. In version 1.1, persistent connections are supported. A request is composed of a header, with the first line specifying the requested URI (Uniform Resource Identifier) and other (optional) lines specify optional data - referrer host, name of the host from which we want data (used for virtual hosting), preferred output language, etc.