31.07.2015 Views

network protocols handbook.pdf

network protocols handbook.pdf

network protocols handbook.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

20Protocols GuideTCP/IP - Application Layer ProtocolsProtocol NameHTTP: Hypertext TransferProtocolProtocol DescriptionThe Hypertext Transfer Protocol (HTTP) is an application-levelprotocol with the lightness and speed necessary for distributed,collaborative, hypermedia information systems. HTTP has beenin use by the World-Wide Web global information initiative since1990.HTTP allows an open-ended set of methods to be used to indicatethe purpose of a request. It builds on the discipline ofreference provided by the Uniform Resource Identifier (URI), asa location (URL) or name (URN), for indicating the resource onwhich a method is to be applied. Messages are passed in aformat similar to that used by Internet Mail and the MultipurposeInternet Mail Extensions (MIME).HTTP is also used as a generic protocol for communication betweenuser agents and proxies/gateways to other Internet <strong>protocols</strong>,such as SMTP, NNTP, FTP, Gopher and WAIS, allowingbasic hypermedia access to resources available from diverseapplications and simplifying the implementation of user agents.The HTTP protocol is a request/response protocol. A client sendsa request to the server in the form of a request method, URI, andprotocol version, followed by a MIME-like message containingrequest modifiers, client information, and possible body contentover a connection with a server. The server responds with astatus line, including the message’s protocol version and a successor error code, followed by a MIME-like message containingserver information, entity meta information, and possible entitybodycontent.The first version of HTTP, referred to as HTTP/0.9, was a simpleprotocol for raw data transfer across the Internet. HTTP/1.0, asdefined by RFC 1945, improved the protocol by allowing messagesto be in the format of MIME-like messages, containingmeta information about the data transferred and modifiers onthe request/response semantics. However, HTTP/1.0 does notsufficiently take into consideration the effects of hierarchicalproxies, caching, the need for persistent connections, or virtualhosts. “HTTP/1.1” includes more stringent requirements thanHTTP/1.0 in order to ensure reliable implementation of its features.There is a secure version of HTTP (S-HTTP) specification,which will be discussed in a separate document.The request message has the following format:RequestLineGeneralheaderRequestheaderEntityheaderMessageBodyThe Request-Line begins with a method token, followed bythe Request-URI and the protocol version, and ends withCRLF. The elements are separated by SP characters. NoCR or LF is allowed except in the final CRLF sequence.The details of the general header, request header and entityheader can be found in the reference documents.The response message has the following format:Status LineGeneralheaderResponseheaderEntityheaderMessageBodyThe Status-Code element is a 3-digit integer result codeof the attempt to understand and satisfy the request. TheReason-Phrase is intended to give a short textual descriptionof the Status-Code. The Status-Code is intended foruse by automata and the Reason-Phrase is intended forthe human user. The client is not required to examine ordisplay the Reason-Phrase. The details of the generalheader, response header and entity header could befound in the reference documents.Related <strong>protocols</strong>WWW, FTP, STMP, NNTP, Gopher, WAIS, DNS, S-HTTPSponsor SourceHTTP is defined by IETF (http://www.ietf.org) in RFC 1945 and2616.Referencehttp://www.javvin.com/protocol/rfc1945.<strong>pdf</strong>Hypertext Transfer Protocol -- HTTP 1.0http://www.javvin.com/protocol/rfc2616.<strong>pdf</strong>Hypertext Transfer Protocol -- HTTP 1.1Protocol StructureHTTP messages consist of requests from client to server andresponses from server to client.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!