The HyperText Transfer Protocol: HTTPAgenda - HTTPHTTP DefinedTim Berners-LeeBerners-Lee’s VisionHTTP Versions: Past and PresentDifference Between FTP and HTTPTwo fundamental dimensions of HTTP: connectivity and interfaceHTTP Request MethodsHTTP Response (Server – Client)HTTP PropertiesProperties continued… comprehensive addressing schemeURL Example:Properties continued… Client-Server ArchitectureProperties continued… Connectionless and StatelessSlide 16Properties continued… Extensible and open representation for data typesProperties continued… Head FieldsHTTP in the FutureResources:1 The HyperText Transfer Protocol: HTTPNick Smith Stuart Alley Tara Tjaden2Agenda - HTTPI. Definition II. InventorIII. Fundamental DimensionsIV. Request MethodsV. Response Example VI. Properties3HTTP DefinedHypertext Transfer Protocol is a network protocol used to deliver virtually all files and other data (collectively called resources) on the World Wide Web. This is a request and retrieve function of the server.This includes: Text files, graphic images, sound, video, and other multi-media files.4Tim Berners-LeeInspirationTrying to retrieve information from a Net-connected computer was frustrating (incompatible computer systems)InnovationCombine the Internet with hypertext (global access). Developed URI later became known as URL (Universe Resource Locator)Take the name of the document and put it behind a link in a hypertext document (machine does the work)Impact1990 he developed HTTP, HTML, and the first web browser WWW (W3C ~ Creator of nonprofit firm that oversees the web development)He put his programs on the Internet. Grad students first to use it!5Berners-Lee’s VisionSemantic Web – allow machines to quickly analyze lots of data, recognize connections betweens ideas and providing links to more information6HTTP Versions: Past and PresentHTTP/0.9 Was never widely used. This only supports one command, GET. HTTP/1.0 Still widely used, especially by proxy servers. Allows persistent connections when explicitly negotiated; however this only works well when not using proxy servers.HTTP/1.1 Current version; persistent connections enabled by default and works well with proxies.7Difference Between FTP and HTTPFile Transfer Protocol (FTP) is used to upload files from a workstation to a FTP server or download files from a FTP server to a workstation. HTTP is used to transfer files from a Web server onto a browser in order to view a Web page that is on the Internet. FTP is two-way system and HTTP is a one-way system8Two fundamental dimensions of HTTP: connectivity and interfaceA way to exchange hypermedia documents between computersVery easy for computers on the Internet to safely share data. Retrieving a file's data is almost useless unless you know what kind of data it is. The Web understands "data types" and passes that information along.9HTTP Request MethodsThere are 3 open-ended methods that are frequently used to request information:GET – used to ask for specific document and is the simplest form of requesting information (URL access will not change the state of database)HEAD – used to ask for information about a document (very fast because less data is required)POST – used when the service associated with the processing of the form has side effects (URL access will cause change in database). Example: Ebay, Amazon10HTTP Response (Server – Client)HTTP/1.0 200 OK Date: Wednesday, 02-Feb-95 23:04:12 GMT Server: NCSA/1.3 MIME-version: 1.0 Last-modified: Monday, 15-Nov-93 23:33:16 GMT Content-type: text/html Content-length: 2345 * a blank line * <HTML><HEAD><TITLE> . . . The server agrees to use HTTP version 1.0 for communication and sends the status 200 indicating it has successfully processed the client's request.It sends the date and identifies itself as an NCSA HTTP server.It indicates it is using MIME version 1.0 to describe the information it is sending, and includes the MIME-type of the information about to be sent in the "Content-type:" header.It sends the number of characters it is going to send, followed by a blank line and the data itself. http://www.wdvl.com/Internet/Protocols/HTTP/Response.html11HTTP PropertiesA comprehensive addressing schemeClient-Server ArchitectureConnectionlessStatelessExtensible and open representation for data typesHead fields12Properties continued… comprehensive addressing schemeTo indicate the resource for methods to beapplied, HTTP protocol uses the concept of reference provided by either the: Universal Resource location (URL), orAs a identifier (URI), orAs a name (URN)13URL Example:The following is an outline of the most common form of a URL: http://www.address.edu:1234/path/subdir/file.extservicehostportFiles and resource details14Properties continued… Client-Server ArchitectureLike most network protocols, HTTP uses the client-server modelAn HTTP protocol is based on a request-response paradigm where a request program (a client) establishes a connection with a receiving program (a server) and sends a request to the server. The server responds with appropriate data.15Properties continued… Connectionless and StatelessOnce a single request is satisfied, the connection is completed and is no longer there. There is no memory between client and server. Each request after this is brand-new start.This has a significant impact on simplifying the server construction1617Properties continued… Extensible and open representation for data typesInternet Media Types are used by HTTP to provide extensible and open representation for data typing. Given that client and server direct communication, applications are allowed more freedom when using non-registered types.18Properties continued… Head FieldsAlso known as meta information, headers are blocks of data preceding actual data. Essentially, it is information about information, and generally specifies things such as actions required of the server, the type of data being returned, or a status code19HTTP in the FutureHTTP-NG (Next Generation)Higher performanceSecurity and authenticationThe client will be able to send a new request before waiting for a previous request responseThe server will be able to respond to request in any
View Full Document