Application Layer Part 1

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.
HyperText Transfer Protocol (HTTP)
Chapter 2: Application Layer
HyperText Transfer Protocol (HTTP) Computer Networks Computer Networks Spring 2012 Spring 2012.
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
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.
Google App Engine Chien-Chung Shen
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.
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.
Application Layer 2 Figures from Kurose and Ross
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,…
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.
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.
Application Layer 2-1 Chapter 2 Application Layer 2.2 Web and HTTP.
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.
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.
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.
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.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking HTTP 0.
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.
Introduction to Networks
Chapter 2 Application Layer
Application Layer Dr. Adil Yousif Lecture 2 CS.
Chapter 2: Application Layer
Block 5: An application layer protocol: HTTP
Slides have been adapted from:
HTTP request message: general format
04 - World Wide Web (WWW) 2: Application Layer.
CS590B/690B Detecting Network Interference (Fall 2016)
CS 1652 Jack Lange University of Pittsburgh
Internet transport protocols services
Chapter 2: Application layer
Session 4 INST 346 Technologies, Infrastructure and Architecture
Application HTTP.
Web and the HTTP (HyperText Transfer Protocol)
Chapter 2 Application Layer
Introduction to Networks
Chapter 2: Application layer
Computer Communication & Networks
HTTP Request Method URL Protocol Version GET /index.html HTTP/1.1
لایه ی کاربرد مظفر بگ محمدی 2: Application Layer.
CSE 4213: Computer Networks II
Chapter 2 Application Layer
Chapter 2: Application layer
CS 5565 Network Architecture and Protocols
CSE 4213: Computer Networks II
Exam Review Quiz game.
The Application Layer: HTTP
Chapter 2 Application Layer
CS1652 September 4th, 2012 Jack Lange University of Pittsburgh
Presentation transcript:

Application Layer Part 1 Daniel Graham PhD

Application Layer Our Goals:

Examples of Application Layer

Creating a network App application transport network data link physical application transport network data link physical application transport network data link physical

Application Architectures

Client Server Architecture

Pure P2P Architectures peer-peer

Hybrid client-server/P2P

Process Communication application application controlled by app developer process process transport transport network controlled by OS network link Internet link physical physical Application Layer

Process Communication

Address Processing

Application Layer Protocol Define

Transport service requirements: common apps application file transfer e-mail Web documents real-time audio/video data loss no loss loss-tolerant throughput elastic audio: 5kbps-1Mbps video:10kbps-5Mbps time sensitive no yes, 100’s msec Application Layer

Web and HTTP www.someschool.edu/someDept/pic.gif path name host name Application Layer

HTTP overview PC running Firefox browser server running Apache Web iphone running Safari browser Application Layer

HTTP overview (continued) Application Layer

HTTP connections Application Layer

Nonpersistent HTTP suppose user enters URL: time www.someSchool.edu/someDepartment/home.index time Application Layer

Non-persistent HTTP: response time Application Layer

Persistent HTTP non-persistent HTTP issues: persistent HTTP:

HTTP request message 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

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

Uploading form input Application Layer

Method types HTTP/1.0: HTTP/1.1: Application Layer

HTTP response message 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 ... Application Layer

HTTP response status codes 200 OK 301 Moved Permanently 400 Bad Request 404 Not Found 505 HTTP Version Not Supported

Trying out HTTP (client side) for yourself 1. Telnet to your favorite Web server: For Macs you will have to brew install telnet telnet www.cs.virginia.edu 80 2. type in a GET HTTP request: GET /~dgg6b/ HTTP/1.1 Host: www.cs.virginia.edu 3. look at response message sent by HTTP server! (or use Wireshark to look at captured HTTP request/response)

User-server state: cookies example: many Web sites use cookies four components: Application Layer

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

Cookies (continued) what cookies can be used for: how to keep “state”: aside what cookies can be used for: cookies and privacy: cookies permit sites to learn a lot about you how to keep “state”: Application Layer

Lets Build a webserver Live coding