Protocols and HTTP o Tim Berners-Lee implements his childhood Enquire “2.0” o It took off because it could do hypertext on the internet! o 3 crucial components:

Slides:



Advertisements
Similar presentations
HTTP HyperText Transfer Protocol. HTTP Uses TCP as its underlying transport protocol Uses port 80 Stateless protocol (i.e. HTTP Server maintains no information.
Advertisements

HyperText Transfer Protocol (HTTP)
Application Layer-11 CSE401N: Computer Networks Lecture-4 Application Layer Overview HTTP.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
2: Application Layer1 Chapter 2: Application Layer Our goals: r conceptual, implementation aspects of network application protocols m transport-layer service.
Chapter 2: Application Layer
HyperText Transfer Protocol (HTTP) Computer Networks Computer Networks Spring 2012 Spring 2012.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss.
9/16/2003-9/18/2003 The Application Layer and Java Programming September 16-18, 2003.
Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July.
Week 11: Application Layer1 Week 11: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Web, HTTP and Web Caching
2: Application Layer1 Chapter 2: Application Layer Our goals: r conceptual, implementation aspects of network application protocols m transport-layer service.
Introduction Protocol Layers. Introduction 1-2 Chapter 1 Introduction Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss.
PL-IV- Group A HTTP Request & Response Header
2: Application Layer World Wide Web (WWW). Introduction 1-2 Internet protocol stack (recap) r application: supporting network applications m FTP,
Process-to-Process Delivery:
1 Application Layer Lecture 4 Imran Ahmed University of Management & Technology.
CS 3830 Day 7 Introduction : Application Layer 2 Processes communicating Process: program running within a host. r within same host, two processes.
FTP (File Transfer Protocol) & Telnet
Mail (smtp), VoIP (sip, rtp)
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.
TCP/IP Protocol Suite 1 Chapter 22 Upon completion you will be able to: World Wide Web: HTTP Understand the components of a browser and a server Understand.
2: Application Layer1 CS 4244: Internet Software Development Dr. Eli Tilevich.
Application Layer 2 Figures from Kurose and Ross
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
20-1 Last time □ NAT □ Application layer ♦ Intro ♦ Web / HTTP.
2: Application Layer1 Internet apps: their protocols and transport protocols Application remote terminal access Web file transfer streaming multimedia.
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,…
2: Application Layer1 Web and HTTP First some jargon Web page consists of base HTML-file which includes several referenced objects Object can be HTML file,
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
How do loss and delay occur?
World-wide-web o Tim Berners-Lee implements his childhood Enquire “2.0” o It took off because it could do hypertext on the internet! o 3 crucial components:
Introduction 1-1 “Real” Internet delays and routes  What do “real” Internet delay & loss look like?  Traceroute program: provides delay measurement from.
Sockets process sends/receives messages to/from its socket
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.
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.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
2: Application Layer 1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April.
Important r There will be NO CLASS on Friday 1/30/2015! r Please mark you calendars 1.
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.
Introduction 1-1 Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit switching,
PRACTICAL INTRODUCTION TO INTERNET TECHNOLOGY. Practical one PACKET DELAY AND LOSS IN INTERNET In this experiment, you will observe real delays and loss.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Data Communication EDA344, DIT420 Description of Lab 1 and Optional Programming HTTP Assignment Bapi Chatterjee Prajith R G.
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.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
Ch 2. Application Layer Myungchul Kim
Communication Networks NETW 501 Tutorial 2
Lecture 5 Internet Core: Protocol layers. Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP 
CS 115: COMPUTING FOR THE SOCIO-TECHNO WEB HOW THE INTERNET WORKS: HTTP, TCP/IP AND OTHER PROTOCOLS (
2: Application Layer 1 Chapter 2 Application Layer These ppt slides are originally from the Kurose and Ross’s book. But some slides are deleted and added.
Application Layer Dr. Adil Yousif Lecture 2 CS.
Block 5: An application layer protocol: HTTP
Application layer 1 Principles of network applications 2 Web and HTTP
Lecture 2 Dr. Richard Spillman Fall 2009
Internet transport protocols services
Chapter 2 Application Layer
Introduction to Networks
Computer Communication & Networks
Process-to-Process Delivery:
CS 5565 Network Architecture and Protocols
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

Protocols and HTTP o Tim Berners-Lee implements his childhood Enquire “2.0” o It took off because it could do hypertext on the internet! o 3 crucial components: HTTP, HTML, URI o What is HTTP?

1-2 The Internet: A nuts and bolts view o The Internet is a network of networks consisting of: o hosts; o communication links of varying bandwidths; o switching devices known as routers. o Communication paths are shared using packet switching. Network Protocols and HTTP

1-3 Hosts, clients, and servers o Hosts can be can be either clients or servers. o A client program running on one host requests and receives a service from a server program running on another system o (We also have P2P connections…) Network Protocols and HTTP

1-4 Sending and receiving information Handshake Network Protocols and HTTP

1-5 Connection-oriented service (“TCP”) o Reliable data transfer: We can rely on the connection to deliver all of its data without error and in the proper order. o Flow control: Neither side of a connection overwhelms the other. o Internet congestion- control: Attempts to prevent Internet gridlock Network Protocols and HTTP

1-6 There is also Connectionless service (“UDP”) o There are no handshakes with a connectionless service. o The sending side simply sends the packets and hopes for the best. o Useful in multimedia (e.g., phone, video) apps

1-7 Packet switching o Messages are broken into packets each of which travels from the source to destination through a maze of routers and links. o Most routers are store-and-forward, meaning the switch must receive the entire packet before it can transmit it outbound link.

1-8 Message pipelining o When the message is segmented into packets, the network is said to pipeline message transmission.

1-9 The Internet backbone

1-10 Taking an airplane trip

1-11 Horizontal layering of functionality

1-12 The Internet protocol stack o Application layer supports network applications (HTTP, SMTP, FTP). o Transport layer provides transport of messages between client and server (TCP and UDP). o Network layer is responsible for routing datagrams from one host to another (IP). o Link layer moves frames from node to node (Ethernet, PPP). o Physical layer moves individual bits of within a frame from node to node.

1-13 Client-server processes o Programs don’t communicate, processes do. o For each pair of communicating processes there is a client side and a server side. o The host that initiates the session is labeled the client, while the process that waits to be contacted is the server. o A process many play both roles at different times.

1-14 The sending process must specify o The name or address of the host (hostname or IP address), and o The process on that host that will handle the received message (port number).

1-15 Hyper-Text Transfer Protocol o HTTP is the Web’s client/server protocol. o User agent (browser) implements the client side of HTTP. o Web pages generally consist of a base HTML file which references other objects (JPEG, GIF, Java applet, audio clips).

1-16 HTTP/1.0 nonpersistent connection 1a.Client initiates a TCP connection to on port Client sends HTTP request for /someDepartment/home.index to TCP socket set up in 1. 1a.Server at host accepts connection and acknowledges. 3.Server receives message, finds, encapsulates, and sends object in HTTP response.

1-17 The dance continues... 5.Client receives response message. TCP connection terminates. Client extracts file, examines HTML, and requests other objects. 4.Server tells TCP to close TCP connection (but TCP waits to hear from client first). 6.First four steps are repeated for each referenced object.

1-18 Timing of a nonpersistent connection

1-19 HTTP/1.1 persistent connections o In an HTTP/1.1 persistent connection, the server leaves the TCP connection open after sending a response. o Subsequent requests and responses (pipelined or not) between the same client can be sent on the same connection.

1-20 HTTP request message GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr request line (GET, POST, HEAD commands) header lines Carriage return, line feed indicates end of message

1-21 HTTP response message HTTP/ OK Connection: close Date: Thu, 06 Aug :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... status line (protocol status code status phrase) header lines requested HTML file

1-22 Some HTTP response status codes 200 OK request succeeded, requested object in this message 301 Moved Permanently requested object moved, new location specified in this message (Location) 400 Bad Request request message not understood by server 404 Not Found requested document not found on this server 505 HTTP Version Not Supported

1-23 Testing HTTP using cURL curl -v --http1.0 > response_body.txt * Connected to cs.wellesley.edu ( ) port 80 (#0) > GET /~cs315 HTTP/1.0 > User-Agent: curl/ > Host: cs.wellesley.edu > Accept: */* > < HTTP/ Moved Permanently < Date: Sun, 01 Feb :08:47 GMT * Server Apache/ (Red Hat) is not blacklisted < Server: Apache/ (Red Hat) < Location: < Content-Type: text/html; charset=iso < X-Varnish: < Age: 0 < Via: 1.1 varnish-v4 < Content-Length: 322 < Connection: close < { [data not shown] :--:-- --:--:-- --:--: * Closing connection 0

Extra Topics Introduction1-24

1-25 Process communication across the Net o A process sends messages into, and receives messages from, the network through its socket or API. o A socket is the interface between the application layer and the transport layer within a host.

1-26 Authorization (“logging in”) 1.Client issues HTTP request message. 3.Client requests name and password through user agent and resends message with authorization header line including username and password. 2.Server at host returns response 401: Authorization Required. 4.Server receives response, verifies user and returns requested file.

1-27 Cookies (remembering past exchanges) 1.Client issues HTTP request message. 3.Browser appends line to magicCookie file and displays page. 2.Server at host returns response + Set-cookie: Server uses ID to serve up appropriate files. 4.Sometime later the user issues another request to same domain. Browser retrieves and sends Cookie:

1-28 Cookies as a distributed database

1-29 Cookies and privacy

1-30 Delays o Processing delay: Time required to examine the packet’s header and determine where it goes. o Queuing delay: Time packet waiting to be served. o Transmission delay: Store-and-forward delay. o Propagation delay: Time to push a bit through a link.

1-31 Packet loss o We have been assuming infinite queue capacity. That’s not the case! o When a packet arrives to find a full queue, the router will drop that packet... o... and it will be lost. o Q: Have you heard of DoS?

1-32 “Real” Internet delays and routes o What do “real” Internet delay & loss look like? o Traceroute attempts to measure delay from source to each router along an Internet path towards destination. o For each router i o sends three packets that will reach router i on path towards destination o router i will return packets to sender o sender times interval between transmission and reply. 3 probes

1-33 Traceroute from gaia.cs.umass.edu 1 cs-gw ( ) 1 ms 1 ms 2 ms 2 border1-rt-fa5-1-0.gw.umass.edu ( ) 1 ms 1 ms 2 ms 3 cht-vbns.gw.umass.edu ( ) 6 ms 5 ms 5 ms 4 jn1-at wor.vbns.net ( ) 16 ms 11 ms 13 ms 5 jn1-so wae.vbns.net ( ) 21 ms 18 ms 18 ms 6 abilene-vbns.abilene.ucaid.edu ( ) 22 ms 18 ms 22 ms 7 nycm-wash.abilene.ucaid.edu ( ) 22 ms 22 ms 22 ms ( ) 104 ms 109 ms 106 ms 9 de2-1.de1.de.geant.net ( ) 109 ms 102 ms 104 ms 10 de.fr1.fr.geant.net ( ) 113 ms 121 ms 114 ms 11 renater-gw.fr1.fr.geant.net ( ) 112 ms 114 ms 112 ms 12 nio-n2.cssi.renater.fr ( ) 111 ms 114 ms 116 ms 13 nice.cssi.renater.fr ( ) 123 ms 125 ms 124 ms 14 r3t2-nice.cssi.renater.fr ( ) 126 ms 126 ms 124 ms 15 eurecom-valbonne.r3t2.ft.net ( ) 135 ms 128 ms 133 ms ( ) 126 ms 128 ms 126 ms 17 * * * 18 * * * 19 fantasia.eurecom.fr ( ) 132 ms 128 ms 136 ms 3 delay measurements no response trans-oceanic link