DOC PREVIEW
U of I CS 241 - The World Wide Web Protocol

This preview shows page 1 out of 4 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1HTTP; The World Wide Web ProtocolHTTPWeb ContentCachingMarc AndreessenBrief History of HTTP 1990-1993: The idea of a web “browser” is contemplated – poor interfaces hinder browser use 1993: Marc Andreessen (then a grad student at NSCA) posts Mosaic on an ftp cite. New features include: Hyperlinks Embedded images December 1993: Mosaic growth makes the front page of New York Times 1994: Marc Andreessen and colleagues leave NSCA to form Mosaic Corp. (later renamed “Netscape”) Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining groundVersions of HTTP  Early protocol is HTTP 0.9  read only More recent versions: HTTP 1.0 read, input, delete, ... HTTP 1.1 performance optimizationsHTTP Overview Client (browser) sends HTTP request to server Request specifies affected URL Request specifies desired operation Server performs operationon URL Server sends response Request and reply headers are in pure text2Static Content and HTML Most static web content is written in HTML HTML allows Text formatting commands Embedded objects Links to other objects Server need not understand or interpret HTMLExample of an HTTP ExchangeClient ServerRetrieve DataFrom DiskFetching Multiple Objects  Most web-pages contain embedded objects (e.g., images, backgrounds, etc) Browser requests HTML page Server sends HTML file Browser parses file and requests embedded objects Server sends requested objectsFetching Embedded ObjectsClient ServerRetrieve DataFrom DiskRetrieve ImageFrom DiskHTTP Operations GET: retrieves URL (most widely used) HEAD: retrieves only response header POST: posts data to server PUT: puts page on server DELETE: deletes page from server Simple HTTP Request and ReplyRequest:GET http://www.server.com/page.html HTTP/1.0Response:HTTP-Version: HTTP/1.0 200 OKContent-Length: 3012Content-Type: text/html<body>3HTTP 1.0 Client opens a separate TCP connection for each requested object Object is served and connection is closed Advantages maximum concurrency Limitations TCP connection setup/tear-down overhead TCP slow start overheadHTTP 1.0Client ServerRetrieve DataFrom DiskRetrieve ImageFrom Diskconnect()close()connect()close()write()write()HTTP 1.1 To avoid a connection per object model, HTTP 1.1 supports persistent connections Client opens TCP connection to server All requests use same connection Problems Less concurrency Server does not know when to close idle connectionsHTTP 1.1Client ServerRetrieve DataFrom DiskRetrieve ImageFrom Diskconnect()close()write()write()Server Side Close()Client ServerRetrieve DataFrom DiskRetrieve ImageFrom Diskconnect()write()write()Timeout! close()Set timeoutResettimeoutDynamic Content Web pages can be created as requests arrive Advantages Personalization (e.g., my.yahoo.com), interaction with client input interaction with back-end applications Disadvantages Performance penalty  Generating dynamic content (CGI, ASP, PHP, ColdFusion, JavaScript, Flash, …)4CGI Scripts CGI scripts are URLs with a .cgi extension The script is a program (e.g., C, JAVA, …) When the URL is requested, server invokes the named script, passing to it client info Script outputs HTML page to standard output (redirected to server) Server sends page to clientCGI ExecutionServerCGIScriptfork()Send pageRequestResponseActive Server Pages (ASPs) Active server pages are HTML documents with extensions for embedded program execution When request arrives, server fetches and parses the HTML document Server executes embedded executable code and plugs output into page Expanded page is sent to clientQuiz Match each call with a function this call performs.1. accept() a) defines the type of socket (e.g., TCP/UDP) 2. listen() b) associates a socket with a port number3. connect() c) dequeues a client connection request4. bind() d) sends a TCP SYN packet to server5. socket() e) defines the length of the socket queuef) writes application data to the


View Full Document

U of I CS 241 - The World Wide Web Protocol

Documents in this Course
Process

Process

28 pages

Files

Files

37 pages

File I/O

File I/O

52 pages

C Basics

C Basics

69 pages

Memory

Memory

23 pages

Threads

Threads

14 pages

Lecture

Lecture

55 pages

C Basics

C Basics

24 pages

Signals

Signals

27 pages

Memory

Memory

45 pages

Threads

Threads

47 pages

Threads

Threads

28 pages

LECTURE

LECTURE

45 pages

Threads

Threads

30 pages

Threads

Threads

55 pages

Files

Files

37 pages

SIGNALS

SIGNALS

22 pages

Files

Files

37 pages

Threads

Threads

14 pages

Threads

Threads

13 pages

Load more
Download The World Wide Web Protocol
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view The World Wide Web Protocol and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view The World Wide Web Protocol 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?