Application Layer 2 Figures from Kurose and Ross

Slides:



Advertisements
Similar presentations
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.
Advertisements

CSE534 – Fundamentals of Computer Networks Lecture 11: HTTP/Web (The Internet’s first killer app) Based on slides from Kurose + Ross, and Carey Williamson.
HTTP HyperText Transfer Protocol. HTTP Uses TCP as its underlying transport protocol Uses port 80 Stateless protocol (i.e. HTTP Server maintains no information.
HyperText Transfer Protocol (HTTP)
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 2: Application Layer
HyperText Transfer Protocol (HTTP) Computer Networks Computer Networks Spring 2012 Spring 2012.
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
1 K. Salah Module 2.1: Application Layer Application-level protocols provide high-level services –Web and HTTP –DNS –Electronic mail –Remote login –FTP.
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.
PL-IV- Group A HTTP Request & Response Header
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.
Google App Engine Chien-Chung Shen
CS 3830 Day 7 Introduction : Application Layer 2 Processes communicating Process: program running within a host. r within same host, two processes.
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.
Course on Computer Communication and Networks Lecture 2-cont Chapter 2 (part a): applications, http EDA344/DIT 420, CTH/GU.
FTP (File Transfer Protocol) & Telnet
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.
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.
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.
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.
20-1 Last time □ NAT □ Application layer ♦ Intro ♦ Web / HTTP.
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,…
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking HTTP 0.
Introduction 1 Lecture 6 Application Layer (HTTP) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
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,
2: Application Layer1 Chapter 2 Application Layer Part 2: Web & HTTP These slides derived from Computer Networking: A Top Down Approach, 6 th edition.
1-1 1DT066 Distributed Information Systems Chapter 2 Applications.
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.
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.
Application Layer 2-1 Chapter 2 Application Layer 2.2 Web and HTTP.
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.
Dr. Philip Cannata 1 The Web and HTTP. Dr. Philip Cannata 2 Application Layer 2-2 Chapter 2 Application Layer Computer Networking: A Top Down Approach.
Application Layer 2-1 Lecture 4: Web and HTTP. Web and HTTP First, a review… web page consists of objects object can be HTML file, JPEG image, Java applet,
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.
Advance Computer Networks Lecture#05 Instructor: Engr. Muhammad Mateen Yaqoob.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Lecture 2: Web Application Layer.
Introduction 1-1 Lecture 5 Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CS3516: These slides.
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.
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.
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.
World Wide Web r Most Web pages consist of: m base HTML page, and m several referenced objects addressed by a URL r URL has two components: host name and.
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.
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking HTTP 0.
Web Servers & CGI. World Wide Web (www) w3 The World Wide Web (abbreviated as WWW or W3, commonly known as the web) is a system of interlinked hypertext.
Lecture 5 Internet Core: Protocol layers. Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP 
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
CS 1652 Jack Lange University of Pittsburgh
Internet transport protocols services
Session 4 INST 346 Technologies, Infrastructure and Architecture
Application HTTP.
لایه ی کاربرد مظفر بگ محمدی 2: Application Layer.
CS 5565 Network Architecture and Protocols
Application Layer Part 1
Chapter 2 Application Layer
Presentation transcript:

Application Layer 2 Figures from Kurose and Ross CS 471/571 Application Layer 2 Figures from Kurose and Ross

Internet Transport Layer TCP Connection oriented Reliable data transfer UDP Connectionless Data loss possible It is possible that packets are delivered out of order

Internet Transport Layer No throughput guarantees No delay guarantees No security built into TCP or UDP SSL Secure socket layer Application layer services built on top of TCP

Application Layer Protocols Varies by application Types of message exchange Request Response Message Syntax Fields Message Semantics Rules about when messages should be sent

HyperText Transfer Protocol (http) Overview Connections Message Format Cookies Web Caching

Overview Created in the early 1990s by Tim Berners-Lee Client/Server Architecture http client/http server Request/response Web Page Web page consist of one or more objects URL: hostname/pathname cs.uwlax.edu/~gendreau/cs471 Stateless

Hypertext Vannevar Bush: Memex (1954) Ted Nelson (1963) Douglas Engelbart (1962) Hypercard (MacIntosh 1987)

Request/Response HTTP request PC running Firefox browser HTTP response server running Apache Web iphone running Safari browser

Connections TCP connections Persistent Non-Persistent

Example Transfer TCP three-way handshake initiate TCP connection RTT request file time to transmit file RTT file received time time

Message Format Syntax Semantics Standard ASCII Text Methods GET POST HEAD PUT DELETE

Example Request request line (GET, POST, HEAD commands) header lines Carriage return line-feed character request line (GET, POST, HEAD commands) GET /index.html HTTP/1.1\r\n Host: www-net.cs.umass.edu\r\n User-Agent: Firefox/3.6.10\r\n Accept: text/html,application/xhtml+xml\r\n Accept-Language: en-us,en;q=0.5\r\n Accept-Encoding: gzip,deflate\r\n Accept-Charset: ISO-8859-1,utf-8;q=0.7\r\n Keep-Alive: 115\r\n Connection: keep-alive\r\n \r\n header lines carriage return, line feed at start of line indicates end of header lines

HTTP request message: general format sp request line method URL sp version cr lf cr lf value header field name header lines ~ ~ cr lf value header field name cr lf ~ entity body ~ body Application Layer

HTTP response message status line (protocol status code status phrase) HTTP/1.1 200 OK\r\n Date: Sun, 26 Sep 2010 20:09:20 GMT\r\n Server: Apache/2.0.52 (CentOS)\r\n Last-Modified: Tue, 30 Oct 2007 17:00:02 GMT\r\n ETag: "17dc6-a5c-bf716880"\r\n Accept-Ranges: bytes\r\n Content-Length: 2652\r\n Keep-Alive: timeout=10, max=100\r\n Connection: Keep-Alive\r\n Content-Type: text/html; charset=ISO-8859-1\r\n \r\n data data data data data ... header lines data, e.g., requested HTML file Application Layer

HTTP response message: general format version sp Status code sp phrase cr status line lf cr lf value header field name sp header lines ~ ~ cr lf value header field name sp cr lf ~ entity body ~ body Application Layer

Message Format Status codes 200 OK: 301 Moved Permanently 400 Bad Request 404 Not Found: 505 HTTP Version Not Supported:

telnet example Prompt> telnet cis.poly.edu 80 Trying 128.238.32.126... Connected to cis.poly.edu. Escape character is '^]'. HEAD /~ross HTTP/1.1 Host: cis.poly.edu HTTP/1.1 301 Moved Permanently Date: Wed, 19 Feb 2014 16:48:38 GMT Server: Apache/1.2.5 Location: http://cis.poly.edu/~ross/ Content-Type: text/html Connection closed by foreign host. Prompt>

Cookies Client maintains cookie file Server maintains database matching id number with information about the user Once the id is established it can be included in response messages

Cookies: keeping “state” (cont.) client server ebay 8734 usual http request msg Amazon server creates ID 1678 for user create entry cookie file usual http response set-cookie: 1678 ebay 8734 amazon 1678 backend database usual http request msg cookie: 1678 cookie- specific action access usual http response msg usual http request msg cookie: 1678 cookie- specific action access one week later: ebay 8734 amazon 1678 usual http response msg Application Layer

Web Cache Proxy Server Conditional Get

Web Cache proxy server HTTP request client HTTP response origin server

File Transfer Protocol (ftp) Allows a use to sign in (an anonymous account can be used) and transfer files between the client machine and server machine ftp server listens on port 21 Uses TCP Separate control and data connection Out-of-band control http uses in-band control Maintains user state

ftp file transfer FTP user FTP interface client server user at host remote file system local file system

TCP control connection, ftp Connections TCP control connection, server port 21 TCP data connection, server port 20 FTP client FTP server

ftp Commands Data transferred in plain text User username PASS password List RETR filename (get) STOR filename (put)