1
The HyperText Transfer Protocol:
HTTP
Nick Smith
Stuart Alley
Tara Tjaden
2
Agenda - HTTP
I. Definition
II. Inventor
III. Fundamental Dimensions
IV. Request Methods
V. Response Example
VI. Properties
3
HTTP Defined
Hypertext 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.
4
Tim Berners-Lee
Inspiration Trying to retrieve information from a Net-connected computer was
frustrating (incompatible computer systems) Innovation
Combine 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) Impact
1990 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!
5
Berners-Lee’s Vision
Semantic Web – allow machines to quickly analyze lots of data, recognize connections betweens ideas and providing links to more information
6
HTTP Versions: Past and Present
HTTP/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.
7
Difference Between FTP and HTTP
File 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 system
8
Two fundamental dimensions of HTTP: connectivity and interface
A way to exchange hypermedia documents between computers Very 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.
9
HTTP Request Methods
There 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, Amazon
10
HTTP 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.html
11
HTTP Properties
A comprehensive addressing scheme Client-Server Architecture Connectionless Stateless Extensible and open representation for data
types Head fields
12
Properties continued… comprehensive addressing scheme
To indicate the resource for methods to be
applied, HTTP protocol uses the concept of
reference provided by either the: Universal Resource location (URL), or As a identifier (URI), or As a name (URN)
13
URL Example:
The following is an outline of the most common form of a URL:
http://www.address.edu:1234/path/subdir/file.ext
service
host
portFiles and resource details
14
Properties continued… Client-Server Architecture
Like most network protocols, HTTP uses the client-server model
An 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.
15
Properties continued… Connectionless and Stateless
Once 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
construction
16
17
Properties continued… Extensible and open representation for data types
Internet 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.
18
Properties continued… Head Fields
Also 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 code
19
HTTP in the Future
HTTP-NG (Next Generation) Higher performance
Security and authentication The client will be able to send a new request
before waiting for a previous request response
The server will be able to respond to request in any order
20
Resources:
• http://www.wdvl.com/Internet/Protocols/HTTP/• http://en.wikipedia.org/wiki/HTTP• http://www.jmarshall.com/easy/http/#whatis• http://perlfect.com/articles/http.shtml• http://www.freesoft.org/CIE/Topics/102.htm• Pictures: www.bus.orst.edu, www.ebay.com,
www.acsu.buffalo.edu