HTTP Robert Grimm New York University. Administrivia  Linux servers running JDK 1.4.1  class[20-25].scs.cs.nyu.edu  You should have accounts within.

Slides:



Advertisements
Similar presentations
Shared-Dictionary Compression over HTTP (SDCH)‏ Wei-Hsin Lee June 2008.
Advertisements

CS3505 The Internet and Info Hiway transport layer protocols : TCP/UDP.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
Robert Grimm New York University
Chapter 9 Application Layer, HTTP Professor Rick Han University of Colorado at Boulder
Interactions Between Delayed Acks and Nagle’s Algorithm in HTTP and HTTPS: Problems and Solutions Arthur Goldberg Robert Buff New York University March.
Chapter 2: Application Layer
Web Caching Robert Grimm New York University. Before We Get Started  Interoperability testing  Type theory 101.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 23 – Internet Applications Internet Directory.
1 Web Proxies Dr. Rocky K. C. Chang 6 November 2005.
1 HTTP - Hypertext Transfer Protocol Arthur : Yigal Eliaspur Date :
Web, HTTP and Web Caching
Definitions, Definitions, Definitions Lead to Understanding.
Hypertext Transfer Protocol Information Systems 337 Prof. Harry Plantinga.
2/24/2000 Network Performance Effects on HTTP/1.1, CSS1, and PNG Luis Rivera Henrik Frystyk Nielsen : W3C James Gettys : DEC Anselm Baird-Smith: W3C.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
HTTP HyperText Transfer Protocol Part 3.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
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 .
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 12 Electronic Mail.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
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.
Application Layer 2 Figures from Kurose and Ross
Week 11: Application Layer1 Web and HTTP First some jargon r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,…
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
Sistem Jaringan dan Komunikasi Data #9. DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
TCP/IP Protocols Dr. Sharon Hall Perkins Applications World Wide Web(HTTP) Presented by.
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.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
Chapter 5 Transport layer With special emphasis on Transmission Control Protocol (TCP)
HTTP and Web Server HTTP HTTP is the protocol used by Web applications to exchange information. HTTP is a simple stateless request-response protocol.
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
©Yaron Kanza HTTP Written by Dr. Yaron Kanza, Edited with permission from author by Liron Blecher.
HyperText Transfer Protocol (HTTP) RICHI GUPTA CISC 856: TCP/IP and Upper Layer Protocols Fall 2007 Thanks to Dr. Amer, UDEL for some of the slides used.
CSE 461 HTTP and the Web. This Lecture  HTTP and the Web (but not HTML)  Focus  How do Web transfers work?  Topics  HTTP, HTTP1.1  Performance Improvements.
1 Caching in HTTP Representation and Management of Data on the Internet.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Web Cache Consistency. “Requirements of performance, availability, and disconnected operation require us to relax the goal of semantic transparency.”
HTTP Protocol Design1 HTTP - timeline r Mar 1990 CERN labs document proposing Web r Jan 1992 HTTP/0.9 specification r Dec 1992 Proposal to add MIME to.
2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
By Sandeep Gadi 12/20/  Design choices for securing a system affect performance, scalability and usability. There is usually a tradeoff between.
Web Technologies Lecture 1 The Internet and HTTP.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
HTTP Here, we examine the hypertext transfer protocol (http) – originally introduced around 1990 but not standardized until 1997 (version 1.0) – protocol.
Internet and Intranet Protocols and Applications Lecture 13: Web Beyond HTTP 4/25/2000 Arthur P. Goldberg Computer Science Department New York University.
EE 122: Lecture 21 (HyperText Transfer Protocol - HTTP) Ion Stoica Nov 20, 2001 (*)
Performance Interactions Between P-HTTP and TCP Implementation John Heidemann USC/Information Sciences Institute May 19, 1997 Presentation Baekcheol Jang.
Computer Networks with Internet Technology William Stallings Chapter 04 Modern Applications 4.1 Web Access - HTTP.
JavaScript and Ajax (Internet Background) Week 1 Web site:
HyperText Transfer Protocol (HTTP) Deepti Kulkarni CISC 856: TCP/IP and Upper Layer Protocols Fall 2008 Acknowledgements Professor Amer Richi Gupta.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
The Internet Technological Background. Topic Objectives At the end of this topic, you should be able to do the following: Able to define the Internet.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI transport layer CCNA Exploration Semester 1 – Chapter 4.
Web fundamentals: Clients, Servers, and Communication
Hypertext Transfer Protocol
Hypertext Transfer Protocol
Web Caching? Web Caching:.
Internet and Intranet Protocols and Applications
Multimedia and Networks
CSE 461 HTTP and the Web.
HyperText Transfer Protocol
EE 122: HyperText Transfer Protocol (HTTP)
CSCI-351 Data communication and Networks
Presentation transcript:

HTTP Robert Grimm New York University

Administrivia  Linux servers running JDK  class[20-25].scs.cs.nyu.edu  You should have accounts within a week  Assignment 1, the HTTP client, is due 9/23/03 before class!  We’ll talk about groups at the end of class…

HTTP/1.0 Performance  Main message: Performance is suboptimal  Interaction latency  Server scalability  Side message: tcpdump’s output is not illustrative

Interaction between HTTP and TCP  Three-way handshake  SYN, SYN+ACK, ACK  Slow start  Open congestion window for each successfully transmitted packet  Then send successive packets without waiting for acknowledgements  Nagle’s algorithm  Delay transmission to collect additional data  telnet, rlogin  TIME_WAIT state

HTTP/1.1 to the Rescue!  Extensibility  Caching  Bandwidth optimization  Network connection management  Message transmission  Internet address conservation  Error notification  Security, integrity, and authentication  Content negotiation

HTTP/1.1 to the Rescue!  Extensibility  Caching  Bandwidth optimization  Network connection management  Message transmission  Internet address conservation  Error notification  Security, integrity, and authentication  Content negotiation

HTTP/1.1 Extensibility  Goal: full backwards compatibility  HTTP/0.9  HTTP/1.0  HTTP/1.1 draft implementations  Via header  Collect end-to-end path information  OPTIONS method  Query for supported features  Upgrade header  Switch to different protocol

HTTP/1.1 Caching  Reduces latency for cached resources  Reduces bandwidth consumption  Indirectly reduces latency for uncached resources  Indirectly reduces load on origin servers

HTTP/1.1 Caching  Goal: semantic transparency  HTTP/1.0  Based on timestamps  Limited resolution (1 second)  Unsynchronized clocks  HTTP/1.1  Based on relative times  max-age in Cache-Control header  Based on opaque tokens  ETag  If-None-Match, If-Match

HTTP/1.1 Bandwidth Optimizations  Goal: conserve bandwidth  Range requests  Only transmit necessary data  Expect and 100 (Continue)  Ask for permission before transmitting large resources  Compression  Use more compact on-the-wire representation  Content-Encoding: end-to-end  Transfer-Encoding: hop-by-hop

HTTP/1.1 Network Connection Management  Goal: be more friendly to TCP  Connection header  Declare what headers are hop-by-hop  Persistent connections  Send many request/response interactions over the same TCP connection  Pipelining  Do not wait for response before sending next request

HTTP/1.1 Message Transmission  Goal: reduce buffering requirements  Content-Length header requires resource size  Chunked transfer-coding  Break resource into many pieces  Trailers  Send headers after resources  Content-MD5

HTTP/1.1 Internet Address Conservation  Goal: turn one server into many servers  Treat DNS-to-IP mapping as many-to-one  IPv4 addresses are scarce, aren’t they?  Host header  Declare DNS name of targeted host  Though, HTTP/1.0 allows for absolute URLs  Interact with proxies  Unintended benefit (?)  Amortize management effort over many sites

HTTP/1.1 Error Notification  Goal: support advisory information in addition to status code  Warning header  Expose status of caches  Disconnected cache  New status codes  24 in all, including 100 (Continue), 206 (Partial content), 300 (Multiple choices)

HTTP/1.1 Authentication  Goal: authorize users  Based on WWW-Authenticate, Authorization headers  HTTP/1.0: Basic authentication  User name, password in the clear  HTTP/1.1: Digest authentication  Based on shared secret (user name, password pair)  Sends cryptographically secure checksum (MD5)  Username, password, nonce, HTTP method, URL  HTTP/1.1: Proxy authentication

HTTP/1.1 Privacy  Goal: respect privacy of users  Rules for when to use Referer [sic] header  Rules for how to use cookies (RFC 2965)  HTTP is stateless, yet we want state  Cookies to the rescue  Collections of name/value pairs  Issued by server on first access  Returned by client on subsequent accesses

HTTP/1.1 Content Negotiation  Goal: support different variant of same resource  Server-driven negotiation  Client declares preferences, server chooses  Different headers to distinguish properties  Media types, character sets, content encodings, human languages  Quality values ( ) to weigh alternatives  Wildcards to express indifference  Accept: audio/*; q=0.2, audio/basic

HTTP/1.1 – Some Issues  How to name a resource?  HTTP/1.0: URL  HTTP/1.1: URL + headers  Vary header to list relevant headers  End-to-end or hop-by-hop?  Caches should be semantically transparent  Yet, they may require user interaction  Proxy authentication  Advisory information  Stateless or stateful?  Cookies are a separate RFC, yet widely used

HTTP/1.1 to the Rescue  What do you think?

HTTP/1.1 Performance  Main message  Pipelined persistent connections work

HTTP/1.1 Performance  Main message  Pipelined persistent connections work … but only if you are careful

HTTP/1.1 Performance Experimental Methodology  Synthesized web site (“Microscape”)  One HTML page (42 KB)  42 inlined GIF images (total of 125 KB)  Three connections  LAN – 10 MBit Ethernet  WAN – MIT LCS to LBL  PPP – 28.8k modem to MIT LCS  Software  Server: Jigsaw and Apache  Client: libwww

HTTP/1.1 Performance Experimental Methodology  Hardware  Sun SPARC Ultra-1 server running Solaris  Digital AlphaStation and Windows NT clients

HTTP/1.1 Performance Tuning  Initial test results  HTTP/1.1 reduces number of sockets and packets  But significantly increases latency  Buffer management is key  Flush after initial request  Send as quickly as possible to receive HTML  But buffer requests for inline images  Pipeline as much as possible to utilize available bandwidth  Also need to manage connections carefully  Only half-close connection  Close server sending side, but still accept client data

HTTP/1.1 Performance Results  HTTP/1.0 with concurrent connections is slow  HTTP/1.1 without pipelining is even slower  HTTP/1.1 with pipelining is faster  HTTP/1.1 with pipelining and compression is even faster, especially on low bandwidth links  It’s hard to read results presented in (8) tables

HTTP/1.1 Performance The Need for Compression  Goal: fully utilize TCP connection  Complete first request quickly to create more work  Pipeline additional requests to exploit bandwidth  Compression can help fit more HTML into a single packet  Tag case matters  Are there better solutions?

HTTP/1.1 Performance Content Matters  Advantages of CSS  Reuse over many resources  Elimination of image abuse  Symbols, spacers  PNG vs. GIF  More compact representation

Questions, Discussion

PS: Groups  ZZ Top: Chris Natail, Ajay Haridasani, Zelin Lu, Luigi Zoso  Mangoes: Mrudang Rawal, Sri Prasad Tadimalla, Zeno Lee, MaoJen Hsu  Loki: Ken Lin, Peter Liu, Jonathan Miller, Brad Wellington  Optimus: Dmitriy Mindich, Alexandre Lounev, Oleg Shevelenko, Natalia Gorelik, ???  Jian Kang, Sajid Raza, Juan Cheng, Ihsin Lee