Order a domain here
|Data link layer||Ethernet||Token ring||FDDI||802.11 WiFi||...|
HTTP is a request/response protocol between clients and servers. An HTTP client, such as a web browser, typically initiates a request by connecting to TCP/IP port 80, although alternative ports such as 81 and 8080 are also used. The client then sends a request string, such as "GET / HTTP/1.1" (which would request the default page of that web server). The server would then respond with a file (or error message). The file sent by the server is preceded by an HTTP Header, which is a set of ASCII strings containing information about the server and the document being sent. HTTP is defined in RFC 2616.
HTTP differs from other TCP-based protocols such as FTP, in that connections are generally torn down once a particular request (or related series of requests) has been completed. This design makes HTTP ideal for the World Wide Web, where pages regularly link to pages on other servers. It can occasionally pose problems for Web designers, as the lack of a persistent connection necessitates alternative methods of maintaining users' "state". Many of these methods involve the use of "cookies".
There is a secure version of HTTP called HTTPS that can use any given encryption method as long as it is understood by both sides.
Below is a sample conversation between an HTTP client and an HTTP server running on www.google.com, port 80.
GET / HTTP/1.1 Host: www.google.com
(followed by a new line, in the form of a carriage return followed by a line feed.)
HTTP/1.1 200 OK Content-Length: 3059 Server: GWS/2.0 Date: Sat, 11 Jan 2003 02:44:04 GMT Content-Type: text/html Cache-control: private Set-Cookie: PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqy X9j; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com Connection: keep-alive
(followed by a blank line and HTML text comprising the Google home page)
- 404 error
- Tim Berners-Lee 1992 internet draft http://www.w3.org/Protocols/HTTP/HTTP2.html
- RFC 2616 (HTTP 1.1) http://www.w3.org/Protocols/rfc2616/rfc2616.html
- HTTP header viewer (http://www.delorie.com/web/headers.html)
- List of HTTP error codes (http://www.modemhelp.net/httperrors/httperrors.shtml)