Network Protocols: Design and Analysis Polly Huang EE NTU

Slides:



Advertisements
Similar presentations
World Wide Web Basics Original version by Carolyn Watters (Dalhousie U. Computer Science)
Advertisements

HTTP HyperText Transfer Protocol. HTTP Uses TCP as its underlying transport protocol Uses port 80 Stateless protocol (i.e. HTTP Server maintains no information.
HTTP – HyperText Transfer Protocol
Web basics HTTP – – URI/L/Ns – HTML –
Chapter 9 Application Layer, HTTP Professor Rick Han University of Colorado at Boulder
1 HTTP – HyperText Transfer Protocol Part 1. 2 Common Protocols In order for two remote machines to “ understand ” each other they should –‘‘ speak the.
The Web The World Wide Web What does it do?.
HTTP Hypertext Transfer Protocol. HTTP messages HTTP is the language that web clients and web servers use to talk to each other –HTTP is largely “under.
15-441: Computer Networking The “Web” Thomas Harris (slides from Srini Seshan’s Fall ’01 course)
How the web works: HTTP and CGI explained
Cornell CS502 Web Basics and Protocols CS 502 – Carl Lagoze Acks to McCracken Syracuse Univ.
Chapter 1 Introduction Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004.
TCP/IP Protocol Suite 1 Chapter 22 Upon completion you will be able to: World Wide Web: HTTP Know how HTTP accesses data on the WWW Objectives.
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July.
Web, HTTP and Web Caching
1 K. Salah Module 2.1: Application Layer Application-level protocols provide high-level services –Web and HTTP –DNS –Electronic mail –Remote login –FTP.
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2009 (MW 1:30-2:50 in CS105) Mike Freedman Teaching Assistants:
Hypertext Transport Protocol CS Dick Steflik.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
Rensselaer Polytechnic Institute CSC-432 – Operating Systems David Goldschmidt, Ph.D.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
COMP3016 Web Technologies Introduction and Discussion What is the Web?
SUNY Polytechnic Institute CS 490 – Web Design, AJAX, jQuery Web Services A web service is a software system that supports interaction (requesting data,
HTTP Protocol Specification
FTP (File Transfer Protocol) & Telnet
HTTP Reading: Section and COS 461: Computer Networks Spring
HyperText Transfer Protocol (HTTP).  HTTP is the protocol that supports communication between web browsers and web servers.  A “Web Server” is a HTTP.
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
2: Application Layer1 CS 4244: Internet Software Development Dr. Eli Tilevich.
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
Maryam Elahi University of Calgary – CPSC 441.  HTTP stands for Hypertext Transfer Protocol.  Used to deliver virtually all files and other data (collectively.
Sistem Jaringan dan Komunikasi Data #9. DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address.
CS640: Introduction to Computer Networks Aditya Akella Lecture 4 - Application Protocols, Performance.
WWW, HTTP, GET, POST, Cookies Svetlin Nakov Telerik Corporation
The HyperText Transfer Protocol. History HTTP has been in use since 1990 (HTTP/0.9) HTTP/1.0 was defined in RFC 1945 (May 1996) and included metainformation.
1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.
Hui Zhang, Fall Computer Networking Web, HTTP, Caching.
1 HTTP EECS 325/425, Fall 2005 September Chapter 2: Application layer r 2.1 Principles of network applications m app architectures m app requirements.
Web Server Design Week 8 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 3/3/10.
HTTP1 Hypertext Transfer Protocol (HTTP) After this lecture, you should be able to:  Know how Web Browsers and Web Servers communicate via HTTP Protocol.
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
1-1 HTTP request message GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr request.
CSE 524: Lecture 4 Application layer protocols. Administrative ● Reading assignment Chapter 2 ● Mid-term exam may be delayed to 11/2/2004 – Mostly on.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Jan.2001C.Watters1 World Wide Web Basics. Jan.2001C.Watters2 What is an internet anyway? 2 or more networks that can communicate.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
Web Server Design Week 7 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 2/24/10.
Web Technologies Lecture 1 The Internet and HTTP.
HTTP Here, we examine the hypertext transfer protocol (http) – originally introduced around 1990 but not standardized until 1997 (version 1.0) – protocol.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
EE 122: Lecture 21 (HyperText Transfer Protocol - HTTP) Ion Stoica Nov 20, 2001 (*)
Overview of Servlets and JSP
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
COMP2322 Lab 2 HTTP Steven Lee Jan. 29, HTTP Hypertext Transfer Protocol Web’s application layer protocol Client/server model – Client (browser):
Computer Networking The Web. 2 Web history 1945: Vannevar Bush, “As we may think”, Atlantic Monthly, July, describes the idea of a distributed.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
INTRODUCTION Dr Mohd Soperi Mohd Zahid Semester /16.
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking HTTP 0.
Web Server Administration Chapter 6 Configuring a Web Server.
What’s Really Happening
Block 5: An application layer protocol: HTTP
HTTP – An overview.
HTTP Protocol Specification
Hypertext Transfer Protocol (HTTP)
CSCI-351 Data communication and Networks
Presentation transcript:

Network Protocols: Design and Analysis Polly Huang EE NTU

Polly Huang, NTU EE2 What’s important about the web? easy access to information –vs. gopher: also easy to use, but no graphics –vs. , ftp –and today, search engine supports rich data formats (text, graphics, hypertext, etc.) fast, cheap, ubiquitous huge economic impact

Polly Huang, NTU EE3 Why was the web successful? Multimedia information –vs. gopher: web had graphics –vs. ftp: a lot easier to use Multi-platform –Really simple to implement –My undergrad network course students are implementing one

Polly Huang, NTU EE4 Aside: the web and computer science the web was invented by a physicist; why not a computer scientist? –computer scientists did hypertext since the late ’60s –he had info to exchange with non-CS expert (vs. CS people who knew FTP) –web was too simple not interesting research, except that it found the right trade-off in complexity vs. benefit –web was first widely used managed to hit a “sweet spot” complexity vs. benefit

Polly Huang, NTU EE5 What is the web? protocols –formatting: HTML (XML, CSS) –addressing: URLs (builds on DNS, IP, files; also URNs) –data retrieval: HTTP (vs. ftp)

Polly Huang, NTU EE6 Formatting: HTML SGML subset: simple ASCII with tags –structure (ex. blockquote, headings, em)—logical info –display (ex. fonts, justifiction, colors, it)—physical layout –pro: easy to write (no special tools req’d) extensible (has grown [a lot!] over time) –now includes forms, tables, frames, math, style sheets, etc. –augmented by CSS (Cascading Style Sheets) do define display for HTML markup –and being replaced (?) with XML

Polly Huang, NTU EE7 Addressing: URLs protocol://host:port/hierarchy#part?search –multiple protocols (http, ftp, etc.) –host:port—use DNS, distributed –hierarchy—locally defined pros: –location independent (can move servers around, as long as DNS name stays same) –global cons: –some things don’t have URLs (sometimes data is “hidden” behind search forms and logins) –some things are location dependent (ex. ~johnh stuff) –must know URL to get something (but search engines help here)

Polly Huang, NTU EE8 Data Transfer: HTTP stateless: no inherent notion of client –so no shopping carts! later work added optional cookies to identify clients layers over TCP designed as faster replacement to FTP many features tacked on: –content negotiation (graphics, language) –caching support

Polly Huang, NTU EE9 HTTP/0.9 original protocol –client: “GET /path” (close) –server: “data” (close) very very simple still valid but no way to do control

Polly Huang, NTU EE10 HTTP/1.0 informational rfc1945 (60 pages) client –“GET /path HTTP/1.0”, headers, body (close) –other operations (GET, HEAD, POST) can send data (POST) can check for changes (HEAD) server –headers, data (close) –headers allow info (type, change time, etc.) –uses MIME types, adds content negoation, etc.

Polly Huang, NTU EE11 HTTP/1.1 rfc2068 (162 pages!) basically like 1.0, but adds: –persistent connections –identity of host (supports virtual hosts) –detailed caching models

Polly Huang, NTU EE12 HTTP Request—More Detail Request line –Method GET – return URI HEAD – return headers only of GET response POST – send data to the server (forms, etc.) –URI E.g. with a proxy E.g. /index.html if no proxy –HTTP version

Polly Huang, NTU EE13 HTTP Request Request headers –Authorization – authentication info –Acceptable document types/encodings –From – user –If-Modified-Since –Referer – what caused this page to be requested –User-Agent – client software Blank-line Body

Polly Huang, NTU EE14 HTTP Request Example GET / HTTP/1.1 Accept: */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Host: Connection: Keep-Alive

Polly Huang, NTU EE15 HTTP Response Status-line –HTTP version –3 digit response code 1XX – informational 2XX – success 3XX – redirection 4XX – client error 5XX – server error –Reason phrase

Polly Huang, NTU EE16 HTTP Response Headers –Location – for redirection –Server – server software –WWW-Authenticate – request for authentication –Allow – list of methods supported (get, head, etc) –Content-Encoding – E.g x-gzip –Content-Length –Content-Type –Expires –Last-Modified Blank-line Body

Polly Huang, NTU EE17 HTTP Response Example HTTP/ OK Date: Tue, 27 Mar :49:38 GMT Server: Apache/ (Unix) (Red-Hat/Linux) mod_ssl/2.7.1 OpenSSL/0.9.5a DAV/1.0.2 PHP/4.0.1pl2 mod_perl/1.24 Last-Modified: Mon, 29 Jan :54:18 GMT ETag: "7a11f-10ed-3a75ae4a" Accept-Ranges: bytes Content-Length: 4333 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html …..

Polly Huang, NTU EE18 Caching Why cache? –can save a lot of bandwidth Risk: out-of-date data –file systems are usually strongly cache coherent, detecting when data is modified and invalidating cached copies –the web is provides only weak coherence, you can get old data

Polly Huang, NTU EE19 Web Cache Coherence Assume page is good until time t –t could be in past First request for –returns data with valid period (“Expires: t”) –clients may estimate valid period if none given Subsequent request: –if in valid period, replay data out of cache (no request) –(server can prohibit this w/0 valid period) –if beyond valid period, issue a conditional request GET with “If-Modified- Since” header Respose is either “304 Not modified” or “200 OK” + new data

Polly Huang, NTU EE20 Example Cache Check Request GET / HTTP/1.1 Accept: */* Accept-Language: en-us Accept-Encoding: gzip, deflate If-Modified-Since: Mon, 29 Jan :54:18 GMT If-None-Match: "7a11f-10ed-3a75ae4a" User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Connection: Keep-Alive

Polly Huang, NTU EE21 Example Cache Check Response HTTP/ Not Modified Date: Tue, 27 Mar :50:51 GMT Server: Apache/ (Unix) (Red- Hat/Linux) mod_ssl/2.7.1 OpenSSL/0.9.5a DAV/1.0.2 PHP/4.0.1pl2 mod_perl/1.24 Connection: Keep-Alive Keep-Alive: timeout=15, max=100 ETag: "7a11f-10ed-3a75ae4a"

Polly Huang, NTU EE22 Web Workloads Users make connections and request pages made up of objects –a structural model user arrival: Poisson connection duration, number of object per page, object size: all often heavy tailed (Pareto) –P&M give object stats: median: 1946 bytes mean: bytes

Polly Huang, NTU EE23 Page Stats Popularity –Zipf distribution –requests for i th most popular document ~ i -a –(popular are really popular, but long tail) Requests are bursty –recall self-similarity lecture

Question?