20
1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

1

The HyperText Transfer Protocol:

HTTP

Nick Smith

Stuart Alley

Tara Tjaden

Page 2: 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

Page 3: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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.

Page 4: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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!

Page 5: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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

Page 6: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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.

Page 7: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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

Page 8: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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.

Page 9: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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

Page 10: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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

Page 11: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

11

HTTP Properties

A comprehensive addressing scheme Client-Server Architecture Connectionless Stateless Extensible and open representation for data

types Head fields

Page 12: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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)

Page 13: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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

Page 14: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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.

Page 15: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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

Page 16: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

16

Page 17: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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.

Page 18: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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

Page 19: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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

Page 20: 1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden

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