All Topics  
Hypertext Transfer Protocol

 

   Email Print
   Bookmark   Link






 

Hypertext Transfer Protocol



 
 
Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. Its use for retrieving inter-linked resources led to the establishment of the World Wide Web
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
.

HTTP development was coordinated by the World Wide Web Consortium
World Wide Web Consortium

The World Wide Web Consortium is the main international standards organization for the World Wide Web . It is arranged as a consortium where member organizations maintain full-time staff for the purpose of working together in the development of standards for the World Wide Web....
  and the Internet Engineering Task Force
Internet Engineering Task Force

The Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the World Wide Web Consortium and International Organization for Standardization/International Electrotechnical Commission standard bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite....
 (IETF), culminating in the publication of a series of Requests for Comments (RFCs), most notably RFC 2616 (June 1999), which defines HTTP/1.1, the version of HTTP in common use.

HTTP is a request/response standard between a client
Client (computing)

A client is an Application software or system that accesses a remote service on another computer system, known as a Server , by way of a Computer network....
 and a server
Web server

The term web server can mean one of two things:# A computer program that is responsible for accepting Hypertext Transfer Protocol requests from clients , and Server them HTTP responses along with optional data contents, which usually are web pages such as Hypertext Markup Language documents and linked objects ....
.






Discussion
Ask a question about 'Hypertext Transfer Protocol'
Start a new discussion about 'Hypertext Transfer Protocol'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. Its use for retrieving inter-linked resources led to the establishment of the World Wide Web
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
.

HTTP development was coordinated by the World Wide Web Consortium
World Wide Web Consortium

The World Wide Web Consortium is the main international standards organization for the World Wide Web . It is arranged as a consortium where member organizations maintain full-time staff for the purpose of working together in the development of standards for the World Wide Web....
  and the Internet Engineering Task Force
Internet Engineering Task Force

The Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the World Wide Web Consortium and International Organization for Standardization/International Electrotechnical Commission standard bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite....
 (IETF), culminating in the publication of a series of Requests for Comments (RFCs), most notably RFC 2616 (June 1999), which defines HTTP/1.1, the version of HTTP in common use.

HTTP is a request/response standard between a client
Client (computing)

A client is an Application software or system that accesses a remote service on another computer system, known as a Server , by way of a Computer network....
 and a server
Web server

The term web server can mean one of two things:# A computer program that is responsible for accepting Hypertext Transfer Protocol requests from clients , and Server them HTTP responses along with optional data contents, which usually are web pages such as Hypertext Markup Language documents and linked objects ....
. A client is the end-user, the server is the web site. The client making a HTTP request—using a web browser
Web browser

A Web browser is a application software which enables a user to display and interact with text, images, videos, music, games and other information typically located on a Web page at a website on the World Wide Web or a local area network....
, spider
Web crawler

A Web crawler is a computer program that browses the World Wide Web in a methodical, automated manner. Other terms for Web crawlers are ants, automatic indexers, bots, and worms or Web spider, Web robot, or?especially in the FOAF community?Web scutter....
, or other end-user tool—is referred to as the user agent
User agent

A user agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the World Wide Web, but other systems such as Session Initiation Protocol use the term user agent to refer to the user's phone....
. The responding server—which stores or creates resources such as HTML
HTML

HTML, an Acronym and initialism of HyperText Markup Language, is the predominant markup language for Web pages. It provides a means to describe the structure of text-based information in a document?by denoting certain text as links, headings, paragraphs, lists, and so on?and to supplement that text with interactive forms, embedded '...
 files and images—is called the origin server. In between the user agent and origin server may be several intermediaries, such as proxies
Proxy server

In computer networks, a proxy server is a server that acts as a go-between for requests from client seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server....
, gateways, and tunnels
Tunneling protocol

The term tunneling protocol is used to describe when one network protocol called the payload protocol is encapsulation within a different delivery protocol....
. HTTP is not constrained to using TCP/IP
Internet protocol suite

The Internet Protocol Suite is the set of communications protocols used for the Internet and other similar networks. It is named from two of the most important protocols in it: the Transmission Control Protocol and the Internet Protocol , which were the first two networking protocols defined in this standard....
 and its supporting layers, although this is its most popular application on the Internet. Indeed HTTP can be "implemented on top of any other protocol on the Internet, or on other networks. HTTP only presumes a reliable transport; any protocol that provides such guarantees can be used."

Typically, an HTTP client initiates a request. It establishes a Transmission Control Protocol
Transmission Control Protocol

The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is so central that the entire suite is often referred to as "TCP/IP"....
 (TCP) connection to a particular port
TCP and UDP port

In computer networking, a port is an application-specific or process-specific software construct serving as a communications endpoint used by Transport layer protocols of the Internet protocol suite such as Transmission Control Protocol and User Datagram Protocol ....
 on a host (port 80 by default; see List of TCP and UDP port numbers
List of TCP and UDP port numbers

In computer networking, the protocols of the Transport Layer of the Internet Protocol Suite, most notably the Transmission Control Protocol and the User Datagram Protocol , but also other protocols, use a numerical identifier for the data structures of the endpoints for host-to-host communications....
). An HTTP server listening on that port waits for the client to send a request message. Upon receiving the request, the server sends back a status line, such as "HTTP/1.1 200 OK", and a message of its own, the body of which is perhaps the requested resource, an error message, or some other information.

Resources
Resource (Web)

The concept of resource is primitive in the World Wide Web architecture, and is used in the definition of its fundamental elements. The term was first introduced to refer to targets of Uniform Resource Locators , but its definition has been further extended to include the referent of any Uniform Resource Identifier , or Internationalized Reso...
 to be accessed by HTTP are identified using Uniform Resource Identifier
Uniform Resource Identifier

In Information technology, a Uniform Resource Identifier is a Character string of Character s used to Identifier or name a Resource on the Internet....
s (URIs) (or, more specifically, Uniform Resource Locator
Uniform Resource Locator

In Information technology, a Uniform Resource Locator is a type of Uniform Resource Identifier that specifies where an identified resource is available and the mechanism for retrieving it....
s (URLs)) using the http: or https
Https

Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol and a secure communication protocol.HTTP operates at the highest layer of the TCP/IP model, the Application layer; but the security protocol operates at lower sublayer, encrypting an HTTP message prior to transmission and decrypting a message upon arriva...
 URI scheme
URI scheme

In the field of computer networking, a URI scheme is the top level of the Uniform Resource Identifier naming structure. All URIs and absolute URI references are formed with a scheme name, followed by a Colon , and the remainder of the URI called the scheme-specific part....
s.

Request message

The request message consists of the following:

  • Request line, such as GET /images/logo.gif HTTP/1.1, which requests a resource called /images/logo.gif from server
  • Headers
    List of HTTP headers

    HTTP Headers form the core of an [] request, and are very important in an HTTP response. They define various characteristics of the data that is requested or the data that has been provided....
    , such as Accept-Language: en
  • An empty line
  • An optional message body


The request line and headers must all end with (that is, a carriage return
Carriage return

Originally, carriage return was the term for the control character in Baudot code on a Teleprinter for end of line return to beginning of line and did not include line feed....
 followed by a line feed). The empty line must consist of only and no other whitespace
Whitespace (computer science)

In computer science, whitespace is any single character or series of characters that represents horizontal or vertical space in typography. When rendered, a whitespace character does not correspond to a visual mark, but typically does occupy an area on a page....
. In the HTTP/1.1 protocol, all headers except Host are optional.

A request line containing only the path name is accepted by servers to maintain compatibility with HTTP clients before the HTTP/1.0 specification.

Request methods

HTTP defines eight methods (sometimes referred to as "verbs") indicating the desired action to be performed on the identified resource. What this resource represents, whether pre-existing data or data that is generated dynamically, depends on the implementation of the server. Often, the resource corresponds to a file or the output of an executable residing on the server.

HEAD
Asks for the response identical to the one that would correspond to a GET request, but without the response body. This is useful for retrieving meta-information written in response headers, without having to transport the entire content.


GET
Requests a representation of the specified resource. Note that GET should not be used for operations that cause side-effects, such as using it for taking actions in web application
Web application

In software engineering, a web application or webapp is an Application software that is accessed via web browser over a network such as the Internet or an intranet....
s. One reason for this is that GET may be used arbitrarily by robots
Internet bot

Internet bots, also known as web robots, WWW robots or simply bots, are software applications that run automated tasks over the Internet....
 or crawlers
Web crawler

A Web crawler is a computer program that browses the World Wide Web in a methodical, automated manner. Other terms for Web crawlers are ants, automatic indexers, bots, and worms or Web spider, Web robot, or?especially in the FOAF community?Web scutter....
, which should not need to consider the side effects that a request should cause. See safe methods below.
POST
Submits data to be processed (e.g., from an HTML form) to the identified resource. The data is included in the body of the request. This may result in the creation of a new resource or the updates of existing resources or both.
PUT
Uploads a representation of the specified resource.
DELETE
Deletes the specified resource.
TRACE
Echoes back the received request, so that a client can see what intermediate servers are adding or changing in the request.
OPTIONS
Returns the HTTP methods that the server supports for specified URL. This can be used to check the functionality of a web server by requesting '*' instead of a specific resource.
CONNECT
Converts the request connection to a transparent TCP/IP tunnel
Tunneling protocol

The term tunneling protocol is used to describe when one network protocol called the payload protocol is encapsulation within a different delivery protocol....
, usually to facilitate SSL
Transport Layer Security

Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide security and data integrity for communications over Internet Protocol Suite networks such as the Internet....
-encrypted communication (HTTPS) through an unencrypted HTTP proxy
Proxy server

In computer networks, a proxy server is a server that acts as a go-between for requests from client seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server....
.


HTTP servers are required to implement at least the GET and HEAD methods and, whenever possible, also the OPTIONS method.

Safe methods

Some methods (for example, HEAD, GET, OPTIONS and TRACE) are defined as safe, which means they are intended only for information retrieval and should not change the state of the server. In other words, they should not have side effects
Side effect (computer science)

In computer science, a subroutine or expression is said to produce a side effect if it modifies some state_ in addition to returning a value. For example, a function might modify a global or a static variable, modify one of its arguments, write data to a display or file, or read some data from other side-effecting functions....
, beyond relatively harmless effects such as logging
Server log

A server log is a Data logging file automatically created and maintained by a Server of activity performed by it.A typical example is a web server log which maintains a history of page requests....
, caching, the serving of banner advertisements
Web banner

A web banner or banner ad is a form of advertising on the World Wide Web. This form of online advertising entails embedding an advertisement into a web page....
 or incrementing a web counter
Web counter

A web counter or hit counter is a computer software program that indicates the number of visitors, or hits, a particular webpage has received....
. Making arbitrary GET requests without regard to the context of the application's state should therefore be considered safe.

By contrast, methods such as POST, PUT and DELETE are intended for actions which may cause side effects either on the server, or external side effects such as financial transactions or transmission of email. Such methods are therefore not usually used by conforming web robots
Internet bot

Internet bots, also known as web robots, WWW robots or simply bots, are software applications that run automated tasks over the Internet....
 or web crawlers
Web crawler

A Web crawler is a computer program that browses the World Wide Web in a methodical, automated manner. Other terms for Web crawlers are ants, automatic indexers, bots, and worms or Web spider, Web robot, or?especially in the FOAF community?Web scutter....
, which tend to make requests without regard to context or consequences.

Despite the prescribed safety of GET requests, in practice their handling by the server is not technically limited in any way, and careless or deliberate programming can just as easily (or more easily, due to lack of user agent precautions) cause non-trivial changes on the server. This is discouraged, because it can cause problems for Web caching, search engines and other automated agents, which can make unintended changes on the server.

Idempotent methods and web applications

Methods PUT and DELETE are defined to be idempotent, meaning that multiple identical requests should have the same effect as a single request. Methods GET, HEAD, OPTIONS and TRACE, being prescribed as safe, should also be idempotent. HTTP is a stateless protocol.

By contrast, the POST method is not necessarily idempotent, and therefore sending an identical POST request multiple times may further affect state or cause further side effects (such as financial transactions). In some cases this may be desirable, but in other cases this could be due to an accident, such as when a user does not realize that their action will result in sending another request, or they did not receive adequate feedback that their first request was successful. While web browsers
Web browser

A Web browser is a application software which enables a user to display and interact with text, images, videos, music, games and other information typically located on a Web page at a website on the World Wide Web or a local area network....
 may show alert dialog boxes
Alert dialog box

An alert dialog is a colloquial term for a particular type of dialog box that occurs in a graphical user interface. It is also known as an alert box, alert window, error dialog, alert popup or plainly alert....
 to warn users in some cases where reloading a page may re-submit a POST request, it is generally up to the web application to takes responsibility for handling cases where a POST request should not be submitted more than once.

Note that whether a method is idempotent is not enforced by the protocol or web server. It is perfectly possible to write a web application in which (for example) a database insert or other non-idempotent action is triggered by a GET or other request. Ignoring this recommendation, however, may result in undesirable consequences if a user agent
User agent

A user agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the World Wide Web, but other systems such as Session Initiation Protocol use the term user agent to refer to the user's phone....
 assumes that repeating the same request is safe when it isn't.

Status codes

In HTTP/1.0 and since, the first line of the HTTP response is called the status line and includes a numeric status code (such as "404
HTTP 404

The 404 or Not Found error message is a Hypertext Transfer Protocol List of HTTP status codes indicating that the Web Browser was able to communicate with the server but either the server could not find what was requested, or it was configured not to fulfill the request and did not reveal the reason why....
") and a textual reason phrase (such as "Not Found"). The way the user agent
User agent

A user agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the World Wide Web, but other systems such as Session Initiation Protocol use the term user agent to refer to the user's phone....
 handles the response primarily depends on the code and secondarily on the response headers. Custom status codes can be used since, if the user agent encounters a code it does not recognize, it can use the first digit of the code to determine the general class of the response.

Also, the standard reason phrases are only recommendations and can be replaced with "local equivalents" at the web developer
Web developer

A web developer is a software developer or software engineer who is specifically engaged in the development of World Wide Web applications, or distributed network applications that are run over the [] protocol from a web server to a web browser....
's discretion. If the status code indicated a problem, the user agent might display the reason phrase to the user to provide further information about the nature of the problem. The standard also allows the user agent to attempt to interpret the reason phrase, though this might be unwise since the standard explicitly specifies that status codes are machine-readable and reason phrases are human-readable.

Persistent connections

In HTTP/0.9 and 1.0, the connection is closed after a single request/response pair. In HTTP/1.1 a keep-alive-mechanism was introduced, where a connection could be reused for more than one request.

Such persistent connections reduce lag
Lag

In computing and especially computer networks, lag is a term used where the computer freezes and then continues some time later when an action is performed, for example clicking a mouse button....
 perceptibly, because the client does not need to re-negotiate the TCP connection after the first request has been sent.

Version 1.1 of the protocol made bandwidth optimization improvements to HTTP/1.0. For example, HTTP/1.1 introduced chunked transfer encoding
Chunked transfer encoding

Chunked Transfer Encoding is one way in which an [] web server may transmit data to a Client application software . Normally, data delivered in HTTP responses is sent in one piece, whose length is indicated by the Content-Length header field....
 to allow content on persistent connections to be streamed, rather than buffered. HTTP pipelining
HTTP pipelining

[] pipelining is a technique in which multiple [] requests are written out to a single Internet socket without waiting for the corresponding responses....
 further reduces lag time, allowing clients to send multiple requests before a previous response has been received to the first one. Another improvement to the protocol was byte serving
Byte serving

Byte serving is the process of sending only a portion of an []/1.1 message from a server to a client. Clients which request byte-serving might do so in cases in which a large file has been only partially delivered and a limited portion of the file is needed in a particular range....
, which is when a server transmits just the portion of a resource explicitly requested by a client.

HTTP session state

HTTP is a stateless
Stateless server

A stateless server is a server that treats each request as an independent transaction that is unrelated to any previous request....
 protocol. The advantage of a stateless protocol is that hosts do not need to retain information about users between requests, but this forces web developer
Web developer

A web developer is a software developer or software engineer who is specifically engaged in the development of World Wide Web applications, or distributed network applications that are run over the [] protocol from a web server to a web browser....
s to use alternative methods for maintaining users' states. For example, when a host needs to customize the content of a website
Website

A Web site is a collection of related Web pages, images, videos or other digital assets that are hosted on one Web server, usually accessible via the Internet....
 for a user, the web application
Web application

In software engineering, a web application or webapp is an Application software that is accessed via web browser over a network such as the Internet or an intranet....
 must be written to track the user's progress from page to page. A common method for solving this problem involves sending and receiving cookies
HTTP cookie

HTTP cookies, more commonly referred to as World Wide Web cookies, tracking cookies or just cookies, are parcels of text sent by a Web server to a Web Client and then sent back unchanged by the client each time it accesses that server....
. Other methods include server side sessions, hidden variables (when the current page is a form
Form (web)

A webform on a web page allows a user to enter data that is sent to a Server for processing. Webforms resemble form because internet users fill out the forms using checkboxes, radio buttons, or menus....
), and URL
Uniform Resource Locator

In Information technology, a Uniform Resource Locator is a type of Uniform Resource Identifier that specifies where an identified resource is available and the mechanism for retrieving it....
 encoded parameters (such as /index.php?session_id=some_unique_session_code).

Secure HTTP

There are currently two methods of establishing a secure HTTP connection: the HTTPS
Https

Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol and a secure communication protocol.HTTP operates at the highest layer of the TCP/IP model, the Application layer; but the security protocol operates at lower sublayer, encrypting an HTTP message prior to transmission and decrypting a message upon arriva...
 URI
Uniform Resource Identifier

In Information technology, a Uniform Resource Identifier is a Character string of Character s used to Identifier or name a Resource on the Internet....
 scheme and the HTTP 1.1 Upgrade header, introduced by RFC 2817. Browser support for the Upgrade header is, however, nearly non-existent, hence the HTTPS
Https

Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol and a secure communication protocol.HTTP operates at the highest layer of the TCP/IP model, the Application layer; but the security protocol operates at lower sublayer, encrypting an HTTP message prior to transmission and decrypting a message upon arriva...
 URI
Uniform Resource Identifier

In Information technology, a Uniform Resource Identifier is a Character string of Character s used to Identifier or name a Resource on the Internet....
 scheme is still the dominant method of establishing a secure HTTP connection. Secure HTTP is notated by the prefix HTTPS:// instead of HTTP://

HTTPS URI scheme

HTTPS: is a URI scheme syntactically identical to the http: scheme used for normal HTTP connections, but which signals the browser to use an added encryption layer of SSL/TLS
Transport Layer Security

Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide security and data integrity for communications over Internet Protocol Suite networks such as the Internet....
 to protect the traffic. SSL is especially suited for HTTP since it can provide some protection even if only one side of the communication is authenticated
Authentication

Authentication is the act of establishing or confirming something as authentic, that is, that claims made by or about the subject are true....
. This is the case with HTTP transactions over the Internet, where typically only the server is authenticated (by the client examining the server's certificate
Public key certificate

In cryptography, a public key certificate is an electronic document which incorporates a digital signature to bind together a public key with an identity — information such as the name of a person or an organization, their address, and so forth....
).

HTTP 1.1 Upgrade header

HTTP 1.1 introduced support for the Upgrade header. In the exchange, the client begins by making a clear-text request, which is later upgraded to TLS
Transport Layer Security

Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide security and data integrity for communications over Internet Protocol Suite networks such as the Internet....
. Either the client or the server may request (or demand) that the connection be upgraded. The most common usage is a clear-text request by the client followed by a server demand to upgrade the connection, which looks like this:

Client:
GET /encrypted-area HTTP/1.1
Host: www.example.com


Server:
HTTP/1.1 426 Upgrade Required
Upgrade: TLS/1.0, HTTP/1.1
Connection: Upgrade


The server returns a 426 status-code because 400 level codes indicate a client failure (see List of HTTP status codes
List of HTTP status codes

The following is a list of HyperText Transfer Protocol response status codes and standard associated phrases, intended to give a short textual description of the status....
), which correctly alerts legacy clients that the failure was client-related.

The benefits of using this method for establishing a secure connection are:

  • that it removes messy and problematic redirection and URL rewriting on the server side,
  • it allows virtual hosting
    Virtual hosting

    Virtual hosting is a method that Server s such as web servers use to host more than one domain name on the same computer, sometimes on the same IP address....
     of secured websites (although HTTPS also allows this using Server Name Indication
    Server Name Indication

    Server Name Indication is a feature that fixes a flaw in the SSL v2 protocol. It permits the client to request the domain name, before the certificate is committed to by the server....
    ), and
  • it reduces user confusion by providing a single way to access a particular resource.


A weakness with this method is that the requirement for a secure HTTP cannot be specified in the URI. In practice, the (untrusted) server will thus be responsible for enabling secure HTTP, not the (trusted) client.

Sample

Below is a sample conversation between an HTTP client and an HTTP server running on www.example.com
Example.com

example.com, example.net, and example.org are Second-level domain domain names reserved by the Internet Engineering Task Force through RFC 2606, Section 3, for use in documentation and examples....
, port 80.

Client request (followed by a blank line, so that request ends with a double newline
Newline

In computing, a newline is a special character or sequence of characters signifying the end of a line of text. The name comes from the fact that the next character after the newline will appear on a new line?that is, on the next line below the text, immediately proceeding the newline....
, each in the form of a carriage return
Carriage return

Originally, carriage return was the term for the control character in Baudot code on a Teleprinter for end of line return to beginning of line and did not include line feed....
 followed by a line feed):
 GET /index.html HTTP/1.1
 Host: www.example.com


The "Host" header distinguishes between various DNS
Domain name system

The Domain Name System is a hierarchical naming system for computers, services, or any resource participating in the Internet. It associates various information with domain names assigned to such participants....
 names sharing a single IP address
IP address

An Internet Protocol address is a numerical identification that is assigned to devices participating in a computer network utilizing the Internet Protocol for communication between its nodes....
, allowing name-based virtual hosting
Virtual hosting

Virtual hosting is a method that Server s such as web servers use to host more than one domain name on the same computer, sometimes on the same IP address....
. While optional in HTTP/1.0, it is mandatory in HTTP/1.1.

Server response (followed by a blank line and text of the requested page):
 HTTP/1.1 200 OK
 Date: Mon, 23 May 2005 22:38:34 GMT
 Server: Apache/1.3.3.7 (Unix)  (Red-Hat/Linux)
 Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
 Etag: "3f80f-1b6-3e1cb03b"
 Accept-Ranges: bytes
 Content-Length: 438
 Connection: close
 Content-Type: text/html; charset=UTF-8


The ETag
HTTP ETag

An ETag is an Hypertext Transfer Protocol response header returned by an HTTP/1.1 compliant web server used to determine change in content at a given Uniform Resource Locator....
 (entity tag) header is used to determine if the URI cached is identical to the requested URI on the server. Content-Type specifies the Internet media type
Internet media type

An Internet media type, originally called a MIME type after MIME and sometimes a Content-type after the name of a header in several protocols whose value is such a type, is a two-part identifier for file formats on the Internet....
 of the data conveyed by the http message, while Content-Length indicates its length in bytes. The HTTP/1.1 webserver publishes its ability to respond to requests for certain byte ranges of the document by setting the header Accept-Ranges: bytes. This is useful if the client needs to have only certain portions of a resource sent by the server, which is called byte serving
Byte serving

Byte serving is the process of sending only a portion of an []/1.1 message from a server to a client. Clients which request byte-serving might do so in cases in which a large file has been only partially delivered and a limited portion of the file is needed in a particular range....
. When Connection: close is sent in a header, it means that the web server
Web server

The term web server can mean one of two things:# A computer program that is responsible for accepting Hypertext Transfer Protocol requests from clients , and Server them HTTP responses along with optional data contents, which usually are web pages such as Hypertext Markup Language documents and linked objects ....
 will close the TCP
Transmission Control Protocol

The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is so central that the entire suite is often referred to as "TCP/IP"....
 connection immediately after the transfer of this package.

See also

  • Basic access authentication
  • Content negotiation
    Content negotiation

    Content negotiation is a mechanism defined in the [] specification that makes it possible to serve different versions of a document at the same Uniform Resource Identifier, so that user agents can specify which version fit their capabilities the best....
  • Digest access authentication
    Digest access authentication

    HTTP Digest access authentication is one of the agreed methods a web server can use to negotiate credentials with a web user . Digest authentication is intended to supersede unencrypted use of the Basic access authentication, allowing user identity to be established securely without having to send a password in plaintext over the network....
  • HTTP compression
    Http compression

    HTTP compression is a capability built into both web servers and web browsers, to make better use of available bandwidth. [] data is Data compression before it is sent from the server: compliant browsers will announce what methods are supported to the server before downloading the correct format; unsupported browsers will download uncompress...
  • List of file transfer protocols
    List of file transfer protocols

    A list of notable file transfer protocols:...
  • List of HTTP status codes
    List of HTTP status codes

    The following is a list of HyperText Transfer Protocol response status codes and standard associated phrases, intended to give a short textual description of the status....
  • List of HTTP headers
    List of HTTP headers

    HTTP Headers form the core of an [] request, and are very important in an HTTP response. They define various characteristics of the data that is requested or the data that has been provided....
  • WebDAV
    WebDAV

    Web-based Distributed Authoring and Versioning, or WebDAV, is a set of extensions to the Hypertext Transfer Protocol that allows users to collaboratively edit and manage files on remote World Wide Web servers....
  • Web cache
    Web cache

    Web caching is the Cache of web documents in order to reduce Bandwidth usage, web server load, and perceived lag. A web cache stores copies of documents passing through it; subsequent requests may be satisfied from the cache if certain conditions are met....


External links