Web, HTTP and Web Caching

Similar documents
1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10

CMSC 332 Computer Networking Web and FTP

HyperText Transfer Protocol

Computer Networks. Wenzhong Li. Nanjing University

Review of Previous Lecture

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer

Chapter 2 Application Layer

CSC 4900 Computer Networks:

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Foundations of Telematics

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa

CS4/MSc Computer Networking. Lecture 3: The Application Layer

Lecture 12. Application Layer. Application Layer 1

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

EECS 3214: Computer Network Protocols and Applications

Application Layer: HTTP

Chapter 2 Application Layer

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

CSC 257/457 Computer Networks. Fall 2017 MW 4:50 pm 6:05 pm CSB 601

Chapter 2 Application Layer

CS 43: Computer Networks. HTTP September 10, 2018

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

Applications & Application-Layer Protocols: The Web & HTTP

Chapter 2 Application Layer

WWW: the http protocol

Application Layer. Applications and application-layer protocols. Goals:

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

Lecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

DATA COMMUNICATOIN NETWORKING

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

COSC4377. Chapter 2: Outline

Layered Model. DoD Model. ISO/OSI Model

Chapter 2: Application layer

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016

CSC 401 Data and Computer Communications Networks

Application Protocols and HTTP

CSCD 330 Network Programming Spring 2018

Computer Networks and Applications

CSEN 503 Introduction to Communication Networks

Applications Layer Protocols. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Chapter II: Application Layer

Data Communication EDA344, DIT420 Description of Lab 1 and Optional Programming HTTP Assignment

Applications & Application-Layer Protocols: The Web & HTTP

SCS3004 Networking Technologies Application Layer Protocols

Application Layer. Goals: Service models. Conceptual aspects of network application protocols Client server paradigm

Multi-threaded Web Server (Assignment 1) Georgios Georgiadis

Outline Computer Networking. HTTP Basics (Review) How to Mark End of Message? (Review)

Application Layer Protocols

CSCE 463/612 Networks and Distributed Processing Spring 2018

Chapter 1 Introduction

Network Applications Principles of Network Applications

Chapter 2 Application Layer

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 5

Computer Networks. HTTP and more. Jianping Pan Spring /20/17 CSC361 1

Computer Network Midterm Explain Internet protocol stack (1% each layer s name, 1% each layer s functions, 10% total)

The World Wide Web. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

Announcements. The World Wide Web. Retrieving From the Server. Goals of Today s Lecture. The World Wide Web. POP3 Protocol

CS 43: Computer Networks. Layering & HTTP September 7, 2018

COMPUTER NETWORK. Homework #1. Due Date: March 29, 2017 in class

Application Layer Chapter 2

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Chapter 2 Application Layer

HTTP Reading: Section and COS 461: Computer Networks Spring 2013

Content Delivery on the Web: HTTP and CDNs

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

Chapter 2 Application Layer

Chapter 2. Application Layer. 2: Application Layer 1

Traditional Web Based Systems

Review for Internet Introduction

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Chapter P2P file sharing network applications 2.22 Web and HTTP 2.3 FTP DNS

Chapter 2: Application Layer. Chapter 2: application layer. outline. Some network apps. Client-server architecture. Application architectures

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Internet Content Distribution

Lecture 6: Application Layer Web proxies, , and SMTP

Application Level Protocols

CS 455/555 Spring 2011 Weigle

Web caches (proxy server) Applications (part 3) Applications (part 3) Caching example (1) More about Web caching

Lecture Overview : Computer Networking. Applications and Application-Layer Protocols. Client-Server Paradigm

DNS and HTTP. A High-Level Overview of how the Internet works

Application Layer. Goals:

Application Layer. Applications and application-layer protocols. Goals:

Application Layer. Application Layer 1. By Mikkel Christiansen for NA mm7 Spring 2004

EECS 3214: Computer Network Protocols and Applications

Network Application. Topic. Principle of Network Application. Principle of Network Application

The Application Layer HTTP and FTP

Chapter 2: Application Layer

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

3. WWW and HTTP. Fig.3.1 Architecture of WWW

Lecture Overview. Lecture 3 Design Philosophy & Applications. Internet Architecture. Priorities

Chapter 2. Application Layer

Information Network Systems The application layer. Stephan Sigg

Application layer. Some network apps. Client-server architecture. Hybrid of client-server and P2P. Pure P2P architecture. Creating a network app

Proxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24

Transcription:

Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects in response to requests HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 PC running Explorer Mac running Navigator Server running Apache Web 2 1

HTTP overview (continued) Uses TCP: client initiates TCP connection (creates socket) to, port 80 accepts TCP connection from client HTTP messages (application-layer protocol messages) exchanged between browser (HTTP client) and Web (HTTP ) TCP connection closed HTTP is stateless maintains no information about past client requests 3 Web Objects Web page consists of objects Object can be HTML file, JPEG image, Java applet, audio file, Web page consists of base HTML-file which includes several referenced objects Each object is addressable by a URL Example URL: www.someschool.edu/somedept/pic.gif host name path name 4 2

HTTP request message two types of HTTP messages: request, response HTTP request message: ASCII (human-readable format) request line (GET, POST, HEAD commands) header lines GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr Carriage return, line feed indicates end of message (extra carriage return, line feed) 5 HTTP request message: general format 6 3

Uploading form input Post method: Web page often includes form input Input is uploaded to in entity body URL method: Uses GET method Input is uploaded in URL field of request line: www.somesite.com/animalsearch?monkeys&banana 7 Request types HTTP/1.0 GET POST HEAD asks to leave requested object out of response HTTP/1.1 GET, POST, HEAD PUT uploads file in entity body to path specified in URL field DELETE deletes file specified in the URL field 8 4

HTTP response message status line (protocol status code status phrase) data, e.g., requested HTML file header lines HTTP/1.1 200 OK Connection close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998... Content-Length: 6821 Content-Type: text/html data data data data data... 9 HTTP response status codes In first line in ->client response message. A few sample codes: 200 OK request succeeded, requested object later in this message 301 Moved Permanently requested object moved, new location specified later in this message (Location:) 400 Bad Request request message not understood by 404 Not Found requested document not found on this 505 HTTP Version Not Supported 10 5

HTTP connections Nonpersistent HTTP At most one object is sent over a TCP connection. HTTP/1.0 uses nonpersistent HTTP Persistent HTTP Multiple objects can be sent over single TCP connection between client and. HTTP/1.1 uses persistent connections in default mode 11 Nonpersistent HTTP Suppose user enters URL www.someschool.edu/somedepartment/home.index (contains text, references to 10 1a. HTTP client initiates TCP jpeg images) connection to HTTP (process) at www.someschool.edu on port 80 time 2. HTTP client sends HTTP request message (containing URL) into TCP connection socket. Message indicates that client wants object somedepartment/home.index 1b. HTTP at host www.someschool.edu waiting for TCP connection at port 80. accepts connection, notifying client 3. HTTP receives request message, forms response message containing requested object, and sends message into its socket 12 6

Nonpersistent HTTP (cont.) 5. HTTP client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects 4. HTTP closes TCP connection. time 6. Steps 1-5 repeated for each of 10 jpeg objects 13 Response time modeling Definition of RTT: time to send a small packet to travel from client to and back. Response time: one RTT to initiate TCP connection one RTT for HTTP request and first few bytes of HTTP response to return file transmission time total = 2RTT+transmit time initiate TCP connection RTT request file RTT file received time to transmit file time time 14 7

Persistent HTTP Nonpersistent HTTP issues: requires 2 RTTs per object OS must work and allocate host resources for each TCP connection but browsers often open parallel TCP connections to fetch referenced objects Persistent HTTP leaves connection open after sending response subsequent HTTP messages between same client/ are sent over connection Persistent without pipelining: client issues new request only when previous response has been received one RTT for each referenced object Persistent with pipelining: default in HTTP/1.1 client sends requests as soon as it encounters a referenced object as little as one RTT for all the referenced objects 15 User- interaction: authorization Authorization : control access to content client authorization credentials: typically name, password stateless: client must present authorization in each request authorization: header line in each request if no authorization: header, refuses access, sends WWW authenticate: header line in response usual http request msg 401: authorization req. WWW authenticate: usual http request msg + Authorization: <cred> usual http response msg usual http request msg + Authorization: <cred> usual http response msg time 16 8

Cookies: keeping state Cookie file ebay: 8734 Cookie file amazon: 1678 ebay: 8734 one week later: Cookie file amazon: 1678 ebay: 8734 client usual http request msg usual http response + Set-cookie: 1678 usual http request msg cookie: 1678 usual http response msg usual http request msg cookie: 1678 usual http response msg Amazon creates ID 1678 for user cookiespecific action cookiespectific action 17 Cookies (continued) What cookies can bring: authorization shopping carts recommendations user session state (Web e-mail) aside Cookies and privacy: cookies permit sites to learn a lot about you you may supply name and e-mail to sites search engines use redirection & cookies to learn yet more advertising companies obtain info across sites 18 9

Conditional GET: client-side caching Goal: don t send object if client has up-to-date cached version client: specify date of cached copy in HTTP request If-modified-since: <date> : response contains no object if cached copy is up-to-date: HTTP/1.0 304 Not Modified client HTTP request msg If-modified-since: <date> HTTP response HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> HTTP response HTTP/1.0 200 OK <data> object not modified object modified 19 Web caches (proxy ) Goal: satisfy client request without involving origin user sets browser: Web accesses via cache browser sends all HTTP requests to cache client Proxy origin object in cache: cache returns object else cache requests object from origin, then returns object to client client origin 20 10

More about Web caching Cache acts as both client and Cache can do up-to-date check using Ifmodified-since HTTP header Typically cache is installed by ISP (university, company, residential ISP) Why Web caching? Reduce response time for client request. Reduce traffic on an institution s access link. Internet dense with caches enables poor content providers to effectively deliver content 21 Caching example (1) Assumptions average object size = 100,000 bits avg. request rate from institution s browser to origin serves = 15/sec delay from institutional router to any origin and back to router = 2 sec Consequences utilization on LAN = 15% utilization on access link = 100% total delay = Internet delay + access delay + LAN delay = 2 sec + several seconds + milliseconds institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin s institutional cache 22 11

Caching example (2) Possible solution increase bandwidth of access link to, say, 10 Mbps Consequences utilization on LAN = 15% utilization on access link = 15% Total delay = Internet delay + access delay + LAN delay = 2 sec + msecs + msecs often a costly upgrade institutional network public Internet 10 Mbps access link 10 Mbps LAN origin s institutional cache 23 Caching example (3) Install cache suppose hit rate is.4 Consequence 40% requests will be satisfied almost immediately 60% requests satisfied by origin utilization of access link reduced to 60%, resulting in negligible delays (say 10 msec) total delay = Internet delay + access delay + LAN delay =.6*2 sec +.6*.01 secs + milliseconds < 1.3 secs institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin s institutional cache 24 12