Applications & Application-Layer Protocols: The Web & HTTP
|
|
- Merilyn Bradford
- 6 years ago
- Views:
Transcription
1 CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University 1 Application-Layer Protocols Outline The architecture of distributed systems» Client/ computing» P2P computing» Hybrid (Client/ and P2P) systems The programming model used in constructing distributed systems» Socket programming Example client/server systems and their application-layer protocols» The World-Wide Web (HTTP)» Reliable file transfer (FTP)» (SMTP & POP)» Internet Domain Name System (DNS) application transport link link physical local ISP company regional ISP 2
2 Applications and Application-Layer Protocols Overview Application: Communicating, distributed processes» Running in hosts in user space» Exchange messages to implement application application transport link physical local ISP Application-layer protocols» One piece of an application» Defines messages exchanged and actions taken» Uses services provided by lower layer protocols application transport link physical company regional application ISP transport link physical 3 Application-Layer Protocols The Web User agent (client) for the Web is called a browser:» MS Internet Explorer» Mozilla Firefox» Apple Safari for the Web is called a Web server:» Apache (public domain)» MS Internet Information (IIS) 4
3 Application-Layer Protocols Web terminology Web page:» Addressed by a URL» Consists of objects Most Web pages consist of:» <html Base lang="en"> HTML page <html lang="en"> <head> <head>» Embedded objects <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <meta http-equiv="content-type" content="text/html; charset=iso "> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>cnn.com</title> <title>cnn.com</title> <meta http-equiv="refresh" content="1800; URL= <meta http-equiv="refresh" content="1800; URL= <link rel="stylesheet" href=" type="text/css"> <link rel="stylesheet" href=" type="text/css"> <script language="javascript1.1" src=" <script language="javascript1.1" src=" type="text/javascript"> </script> type="text/javascript"> </script> <script language="javascript1.1" type="text/javascript"> </script> <script language="javascript1.1" type="text/javascript"> </script> <script language="javascript1.1" src=" <script language="javascript1.1" src=" <style type="text/css"></style> <style type="text/css"></style> <script language="javascript">document.adoffset=0</script> <script language="javascript">document.adoffset=0</script> </head> </head> <body class="cnnmainbody" bgcolor="#ffffff"> <body class="cnnmainbody" bgcolor="#ffffff"> <a name="top_of_page"></a> <a name="top_of_page"></a> : : : : 5 Web Terminology URLs (Universal Resource Locators) Optional server port (Default = port 80) domain name Object path name URL components» address» (Optional port number)» Path name 6
4 Web Terminology The Hypertext Transfer Protocol (HTTP) Web s application layer protocol Client/server model» client: browser that requests, receives, displays Web objects» server: Web server sends objects in response to requests HTTP/1.0: RFC 1945 HTTP/1.1: RFC 2616 PC running Firefox Mac running Safari running Apache 7 The Hypertext Transfer Protocol HTTP Overview HTTP uses TCP sockets» Browser initiates TCP connection to server (on port 80) HTTP messages (application - layer protocol messages) exchanged between browser and Web server HTTP/1.0: RFC 1945» One request/response interaction per connection HTTP/1.1: RFC 2616» Persistent connections» Pipelined connections HTTP is stateless» maintains no information about past browser requests aside Protocols that maintain state are complex!» Past history (state) must be maintained» If server or client crashes, their views of state may be inconsistent and must be reconciled 8
5 The Hypertext Transfer Protocol HTTP example User enters URL Referenced object contains HTML text and references 10 JPEG images Browser sends an HTML GET request to the server will retrieve and send the HTML file Browser will read the file and sequentially make 10 separate requests for the embedded JPEG images Browser Web 9 HTTP 1.0 Example URL Client 1) Browser initiates TCP connection to server at Port 80 is well known for server TCP 3-way handshake 0) process at host waiting for TCP connections on port 80 3) Client writes an HTTP GET request message (containing path) to TCP connection socket 2) accepts connection time 4) reads request message, forms response message containing requested object, writes message to socket 5) closes TCP connection 10
6 HTTP 1.0 Example URL Client 6) Browser reads response message containing the HTML file. Ten references to JPEG objects are found during the HTML parse 7) Browser initiates TCP connection to server at TCP 3-way handshake time 8) accepts connection The above steps are repeated for for each of of the the JPEG objects 11 The Hypertext Transfer Protocol HTTP message format Two types of HTTP message formats: request and response messages» ASCII (human-readable format) message:» Request line» Optional header lines» Present only for some methods (e.g., POST) method <SP> path <SP> version <CR><LF> header field name : value <CR><LF> header field name : value <CR><LF> <CR><LF> entity body 12
7 HTTP Message Format Netscape Navigator & MS Explorer request examples How does Netscape process: GET /~mweigle/ HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.74 [en] (WinNT; U) Host: Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso ,*,utf-8 Cookie: SITESERVER=ID=8a064b7855a043146e a3d HTTP Message Format Netscape Navigator & MS Explorer request examples GET /~mweigle/ HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.74 [en] (WinNT; U) Host: Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso ,*,utf-8 Cookie: SITESERVER=ID=8a064b7855a043146e a3d970 GET /~mweigle/ HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0) Host: Connection: Keep-Alive 14
8 HTTP Message Format General response message format Response messages» ASCII (human-readable format) Message structure:» Status line» Optional header lines» Requested object, error message message, etc. version <SP> code <SP> phrase <CR><LF> header field name : value <CR><LF> header field name : value <CR><LF> <CR><LF> entity body 15 HTTP Message Format Telnet example Connect to HTTP server port Telnet output Type GET command plus blank line status line headers plus blank line Object content Telnet output > telnet 80 Trying Connected to Escape character is '^]'. GET /~mweigle/foo.txt HTTP/1.0 HTTP/ OK Date: Mon, 06 Sep :22:18 GMT : Apache/ (Unix) Last-Modified: Mon, 30 Aug :35:29 GMT ETag: "2fa6-76c-41338f91" Accept-Ranges: bytes Content-Length: 95 Connection: close Content-Type: text/plain ** This test file is stored in the UNIX ** file system at ** /home/mweigle/public_html/foo.txt Connection closed by foreign host. 16
9 HTTP Message Format Telnet example (2) Connect to HTTP server port Telnet output Type GET command plus blank line status line headers plus blank line Object content Telnet output > telnet 80 Trying Connected to Escape character is '^]'. GET /~index.html HTTP/1.0 HTTP/ Object Not Found : Microsoft-IIS/5.0 Date: Mon, 11 Feb :33:15 GMT Content-Length: 1638 Content-Type: text/html <HTML> <HEAD> Error type Object Not Found </body> </html> Connection closed by foreign host. 17 HTTP Message Format status codes Sample response 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 server 404 Not Found» Requested document not found on this server 505 HTTP Version Not Supported 18
10 HTTP Message Format Typical Request and Response Headers Request headers Connection: Keep-Alive User-Agent: Mozilla/4.74 [en] (WinNT; U) Host: Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso ,*,utf-8 Cookie: SITESERVER=ID=8a064b785a043146e a3d970 Response headers Date: Fri, 02 Feb :10:11 GMT : Apache/1.3.9 (Unix) (Red Hat/Linux) Last-Modified: Tue, 30 Jan :48:14 GMT ETag: " e-67-3a77369e" Accept-Ranges: bytes Content-Length: 103 Connection: close Content-Type: text/plain 19 HTTP Protocol Design Non-persistent connections The default browser/server behavior in HTTP/1.0 is for the connection to be closed after the completion of the request» parses request, responds, and closes TCP connection» The Connection:keep-alive header allows for persistent connections With non-persistent connections at least 2 RTTs are required to fetch every object» 1 RTT for TCP handshake» 1 RTT for request/response Browser TCP connection establishment Web 20
11 Non-Persistent Connections Performance A transmission propagation B nodal processing queueing With non-persistent connections at least 2 RTTs are required to fetch every object» 1 RTT for TCP handshake» 1 RTT for request/response Browser TCP connection establishment Web 21 Non-Persistent Connections Performance A transmission propagation B nodal processing queueing Example: A 1 Kbyte base page with five 1.5 Kbyte embedded images coming from the West coast on an OC-48 link» 1 RTT for TCP handshake = 50 ms» 1 RTT for request/response = 50 ms Page download time with non-persistent connections? Page download time with a persistent connection? 22
12 Non-Persistent Connections Parallel connections To improve performance a browser can issue multiple requests in parallel to a server (or servers)» parses request, responds, and closes TCP connection Web TCP connection establishment Browser TCP connection establishment Page download time with parallel connections?» 2 parallel connections =» 4 parallel connections = Web 23 HTTP Protocol Design Persistent v. non-persistent connections Non-persistent» HTTP/1.0» parses request, responds, and closes TCP connection» At least 2 RTTs to fetch every object Persistent» Default for HTTP/1.1 (negotiable in 1.0)» Client sends requests for multiple objects on one TCP connection», parses request, responds, parses next request, responds...» Fewer RTTs Parallel v. persistent connections? 24
13 Persistent Connections Persistent connections with pipelining 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 25 Persistent Connections Without Pipelining Client issues new request only when previous response has been received One RTT for each referenced object Client msg base msg msg (1st embedded object) msg (1st embedded object) msg (2nd embedded object) msg (2nd embedded object) Time 26
14 Persistent Connections 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 Client msg base msg msg (1st HTTP embedded request object) msg (2nd embedded object) msg msg (1st embedded object) (2nd embedded object) Time 27 HTTP User- Interaction Authentication Problem: How to limit access to server documents?» s provide a means to require users to authenticate themselves HTTP includes a header tag for user to specify name and password (on a GET request)» If no authorization presented, server refuses access, sends WWW authenticate: header line in response Stateless: client must send authorization for each request» A stateless design» (But browser may cache credentials) Client usual msg 401: authorization WWW authenticate: usual msg + authorization: usual msg usual msg + authorization: usual msg Time 28
15 HTTP User- Interaction Cookies sends cookie to browser in response message Set-cookie:<value> Browser presents cookie in later requests to same server cookie: <value> matches cookie with server-stored information» Provides authentication» Client-side state main-tenance (remembering user preferences, previous choices, ) Client usual msg usual + Set-cookie: S1 usual msg cookie: S1 usual msg usual msg cookie: S1 usual + Set-cookie: S2 cookiespecific action cookiespecific action 29 HTTP User- Interaction Browser caches browser Internet origin server hit miss Internet Browser with disk cache origin server Browsers cache content from servers to avoid future server interactions to retrieve the same content 30
16 HTTP User- Interaction The conditional GET If object in browser cache is fresh, the server won t re-send it» Browsers save current date along with object in cache Client specifies the date of cached copy in HTTP request If-modified-since:<date> s response contains the object only if it has been changed since the cached date Otherwise server returns: HTTP/ Not Modified Client If-modified-since: <date> HTTP/ Not Modified If-modified-since: <date> HTTP/ OK <data> object not modified object modified 31 HTTP User- Interaction Cache Performance for HTTP Requests Cache Hit Cache Miss Network Browser with disk cache Origin What is the average time to retrieve a web object?» T mean = hit ratio x T cache + (1 hit ratio) x T server where hit ratio is the fraction of objects found in the cache» Mean access time from a disk cache =» Mean access time from the origin server = For a 60% hit ratio, the mean client access time is:» (0.6 x 10 ms) + (0.4 x 1,000 ms) = 406 ms 32
17 Cache Performance for HTTP Requests What determines the hit ratio? Cache size Locality of references» How often the same web object is requested How long objects remain fresh (unchanged) Object references that can t be cached at all» Dynamically generated content» Protected content» Content purchased for each use» Content that must always be up-to-date» Advertisements ( pay-per-click issues) 33 Caching on the Web Web caches (Proxy servers) Web caches are used to satisfy client requests without contacting the origin server Users configure browsers to send all requests through a shared proxy server» Proxy server is a large cache of web objects Browsers send all HTTP requests to proxy» If object in cache, proxy returns object in HTTP response» Else proxy requests object from origin server, then returns it in to browser client (hit) client Proxy server (miss) Origin server Open research question: How does the proxy hit ratio change with the population of users sharing it? 34
18 Why do Proxy Caching? The performance implications of caching Consider a cache that is close to client» E.g., on the same LAN public Internet origin servers Nearby caches mean:» Smaller response times» Decreased traffic on egress link to institutional ISP (often the primary bottleneck) To To improve Web response times should one buy a Mbps access link or or a proxy server? 1.5 Mbps access link 10 Mbps LAN proxy server campus 35 Why do Proxy Caching? The performance implications of caching Web performance without caching:» Mean object size = 50 Kbits» Mean request rate = 29/sec» Mean origin server access time = 1 sec» Average response time =?? Traffic intensity on the access link: 29 reqs sec 50 Kbits/req X = Mbps public Internet 1.5 Mbps access link 10 Mbps LAN origin servers 1000 ms campus 36
19 Why do Proxy Caching? The performance implications of caching origin servers Upgrade the access link to 10 Mb/s» Response time =??» Queuing is negligible hence response time = 1 sec Add a proxy cache with 40% hit ratio and 10 ms access time» Response time =??» Traffic intensity on access link = public Internet 1.5 Mbps access link 1000 ms 0.6 x 0.97 = 0.58» Response time = 0.4 x 10 ms x 1,000 ms = 604 ms 10 Mbps LAN A proxy cache lowers response time, lowers access link utilization, and saves money! campus 37 Why do Proxy Caching? The case for proxy caching origin servers Lower latency for user s web requests Reduced traffic at all levels Reduced load on servers Some level of fault tolerance (, servers) Reduced costs to ISPs, content providers, etc., as web usage continues to grow exponentially More rapid distribution of content 1.5 Mbps access link 10 Mbps LAN public Internet campus proxy server 38
Applications & Application-Layer Protocols: The Web & HTTP
CS 312 Internet Concepts Applications & Application-Layer Protocols: The Web & HTTP Dr. Michele Weigle Department of Computer Science Old Dominion University mweigle@cs.odu.edu http://www.cs.odu.edu/~mweigle/cs312-f11/
More informationWeb, HTTP and Web Caching
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
More informationHyperText Transfer Protocol
Outline Introduce Socket Programming Domain Name Service (DNS) Standard Application-level Protocols email (SMTP) HTTP HyperText Transfer Protocol Defintitions A web page consists of a base HTML-file which
More informationCMSC 332 Computer Networking Web and FTP
CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into
More informationComputer Networks. Wenzhong Li. Nanjing University
Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content
More informationChapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming
More informationLecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 6 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts
More informationReview of Previous Lecture
Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose
More informationLecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 7b: HTTP Feb. 24, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu WWW - HTTP/1.1 Web s application layer protocol
More informationChapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming with UDP and TCP Application
More informationApplication Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017
CSC 401 Data and Computer Communications Networks Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network applications 2.2
More informationLecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa
NET 331 Computer Networks Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth
More informationDATA COMMUNICATOIN NETWORKING
DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction Course Overview Basics of Computer Networks Internet
More informationCSC358 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
CSC358 Week 2 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Logistics Tutorial this Friday Assignment 1 will be out shortly
More informationLAMP, WEB ARCHITECTURE, AND HTTP
CS 418 Web Programming Spring 2013 LAMP, WEB ARCHITECTURE, AND HTTP SCOTT G. AINSWORTH http://www.cs.odu.edu/~sainswor/cs418-s13/ 2 OUTLINE Assigned Reading Chapter 1 Configuring Your Installation pgs.
More information1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10
EE 586 Communication and Switching Networks (Fall 2010) Lecture 10 September 17 2010 1-1 Announcement Send me your group and get group ID HW3 (short) out on Monday Personal leave for next two weeks No
More informationApplication Layer: HTTP
Application Layer: HTTP EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 23-Jan-18 1-1 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic
More informationChapter 2 Application Layer
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 Some network apps e-mail web text messaging remote
More informationEECS 3214: Computer Network Protocols and Applications
EECS 3214: Computer Network Protocols and Applications Suprakash Datta Course page: http://www.eecs.yorku.ca/course/3214 Office: LAS 3043 Email: datta [at] cse.yorku.ca These slides are adapted from Jim
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationChapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Chapter 2: Application Layer Our goals: conceptual, implementation
More informationLecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 7 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts
More informationCS 43: Computer Networks. HTTP September 10, 2018
CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.
More informationCOSC4377. Chapter 2: Outline
Lecture 5 Chapter 2: Outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket
More informationCS 43: Computer Networks. Layering & HTTP September 7, 2018
CS 43: Computer Networks Layering & HTTP September 7, 2018 Last Class: Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability Network:
More informationCS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.
CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail SMTP, POP3, IMAP DNS
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Homework #1 Assigned today Due in one week Application layer: DNS, HTTP, protocols Recommend you start early
More informationApplication Protocols and HTTP
Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due
More informationWorld Wide Web, etc.
World Wide Web, etc. Alex S. Raw data-packets wouldn t be much use to humans if there weren t many application level protocols, such as SMTP (for e-mail), HTTP & HTML (for www), etc. 1 The Web The following
More informationApplication Layer. Applications and application-layer protocols. Goals:
Application Layer Goals: Conceptual aspects of network application protocols Client paradigm Service models Learn about protocols by examining popular application-level protocols HTTP DNS 1 Applications
More informationWWW: the http protocol
Internet apps: their protocols and transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia remote file Internet telephony Application layer protocol smtp [RFC
More informationChapter 2: Application layer
Chapter 2 Application Layer A note on the use of these ppt slides: Were making these slides freely available to all (faculty, students, readers). Theyre in PowerPoint form so you can add, modify, and delete
More informationCSC 4900 Computer Networks:
CSC 4900 Computer Networks: Email Professor Henry Carter Fall 2017 Villanova University Department of Computing Sciences Review Last week we talked about design principles, and the application protocols
More informationNetworking. Layered Model. DoD Model. Application Layer. ISO/OSI Model
Networking Networking is concerned with the physical topology of two or more communicating entities and the logical topology of data transmission. Layered Model Systems communicate over a shared communication
More informationHTTP Reading: Section and COS 461: Computer Networks Spring 2013
HTTP Reading: Section 9.1.2 and 9.4.3 COS 461: Computer Networks Spring 2013 1 Recap: Client-Server Communication Client sometimes on Initiates a request to the server when interested E.g., Web browser
More informationHow to work with HTTP requests and responses
How a web server processes static web pages Chapter 18 How to work with HTTP requests and responses How a web server processes dynamic web pages Slide 1 Slide 2 The components of a servlet/jsp application
More informationECE697AA Lecture 2. Today s lecture
ECE697AA Lecture 2 Application Layer: HTTP Tilman Wolf Department of Electrical and Computer Engineering 09/04/08 Protocol stack Application layer Client-server architecture Example protocol: HTTP Demo
More informationFoundations of Telematics
Foundations of Telematics Chapter 2 Application Layer Principles of network applications Important application protocols Using sockets Acknowledgement: These slides have been prepared by J.F. Kurose and
More informationThe HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1
The HTTP protocol Fulvio Corno, Dario Bonino 08/10/09 http 1 What is HTTP? HTTP stands for Hypertext Transfer Protocol It is the network protocol used to delivery virtually all data over the WWW: Images
More informationLecture Overview : Computer Networking. Applications and Application-Layer Protocols. Client-Server Paradigm
Lecture Overview 15-441: Computer Networking Last time: Protocol stacks and layering OSI and TCP/IP models Application requirements Lecture 3: Design Philosophy & Applications Application examples ftp
More informationCS4/MSc Computer Networking. Lecture 3: The Application Layer
CS4/MSc Computer Networking Lecture 3: The Application Layer Computer Networking, Copyright University of Edinburgh 2005 Network Applications Examine a popular network application: Web Client-server architecture
More informationOutline Computer Networking. HTTP Basics (Review) How to Mark End of Message? (Review)
Outline 15-441 Computer Networking Lecture 25 The Web HTTP review and details (more in notes) Persistent HTTP review HTTP caching Content distribution networks Lecture 19: 2006-11-02 2 HTTP Basics (Review)
More informationChapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication
Mobile network Chapter 2 The Yanmin Zhu Department of Computer Science and Engineering Global ISP Home network Regional ISP Institutional network CSE Department 1 CSE Department 2 Application layer - Overview
More informationLayered Model. DoD Model. ISO/OSI Model
Data Communications vs Networking (later) Communication is concerned with the transmission of data over a communication medium/channel between two entities. Here we are more concerned about EE issues such
More informationCS 455/555 Spring 2011 Weigle
Homework 2 Application-Level Protocols Assigned: Tuesday, February 1, 2011 Due: Tuesday, February 15, 2011 at the beginning of class CS 455 100 points CS 555 112 points Note: All homework assignments must
More informationSCS3004 Networking Technologies Application Layer Protocols
SCS3004 Networking Technologies Application Layer Protocols Dr. Ajantha Atukorale University of Colombo School of Computing (UCSC) 2 TCP/IP Suit Applications and application-layer layer protocols Application:
More informationCS193i Handout #18. HTTP Part 5
HTTP Part 5 HTTP Under The Hood Write a little echo server that listens for HTTP requests on port 8181, and then just echoes it back, so we can see the details for the browser request... Echo Server Code
More informationHTTP Protocol and Server-Side Basics
HTTP Protocol and Server-Side Basics Web Programming Uta Priss ZELL, Ostfalia University 2013 Web Programming HTTP Protocol and Server-Side Basics Slide 1/26 Outline The HTTP protocol Environment Variables
More informationChapter 2 Application Layer
Chapter 2 Application Layer Reference: Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007. Application Layer 1 Chapter 2: Application layer 2.1 Principles
More informationWorld-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved
World-Wide Web Protocols CS 571 Fall 2006 2006 Kenneth L. Calvert All rights reserved World-Wide Web The Information Universe World-Wide Web structure: hypertext Nonlinear presentation of information Key
More informationInternet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP
Web Programming - 2 (Ref: Chapter 2) TCP/IP Basics Internet Architecture Client Server Basics URL and MIME Types HTTP Routers interconnect the network TCP/IP software provides illusion of a single network
More informationProduced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar
Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology
More informationApplication Level Protocols
Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application
More informationNetworking. INFO/CSE 100, Spring 2006 Fluency in Information Technology.
Networking INFO/CSE 100, Spring 2006 Fluency in Information Technology http://www.cs.washington.edu/100 Apr-3-06 networks @ university of washington 1 Readings and References Reading Fluency with Information
More informationComputer Network Midterm Explain Internet protocol stack (1% each layer s name, 1% each layer s functions, 10% total)
1. Explain Internet protocol stack (1% each layer s name, 1% each layer s functions, 10% total) 2. Describe detailed operations of HTTP cookie, web caching and conditional GET. (6*3=18%)( 說明其用處, 並畫圖加解釋每步驟
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and
More informationNetwork Applications and the Web
Network Applications and the Web Antonio Carzaniga Faculty of Informatics University of Lugano September 27, 2013 2005 2007 Antonio Carzaniga 1 General concepts for network applications Outline Client/server
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Sco2 Shenker and John Janno6 Administrivia HW3 out today Will cover HTTP, DNS, TCP TCP Milestone II coming up on Monday Make sure you sign
More informationLecture Overview. Lecture 3 Design Philosophy & Applications. Internet Architecture. Priorities
Lecture Overview Lecture 3 Design Philosophy & Applications David Andersen School of Computer Science Carnegie Mellon University 15-441 Networking, Spring 2008 http://www.cs.cmu.edu/~dga/15-441/s08/ 1!
More informationHTTP and Web Content Delivery
HTTP and Web Content Delivery COS 461: Computer Networks Spring 2011 Mike Freedman hgp://www.cs.princeton.edu/courses/archive/spring11/cos461/ 2 Outline Layering HTTP HTTP conneclon management and caching
More informationComputer Networks - A Simple HTTP proxy -
Computer Networks - A Simple HTTP proxy - Objectives The intent of this assignment is to help you gain a thorough understanding of: The interaction between browsers and web servers The basics of the HTTP
More informationLecture 3. HTTP v1.0 application layer protocol. into details. HTTP 1.0: RFC 1945, T. Berners-Lee HTTP 1.1: RFC 2068, 2616
Lecture 3. HTTP v1.0 application layer protocol into details HTTP 1.0: RFC 1945, T. Berners-Lee Lee,, R. Fielding, H. Frystyk, may 1996 HTTP 1.1: RFC 2068, 2616 Ascii protocol uses plain text case sensitive
More informationCOSC 2206 Internet Tools. The HTTP Protocol
COSC 2206 Internet Tools The HTTP Protocol http://www.w3.org/protocols/ What is TCP/IP? TCP: Transmission Control Protocol IP: Internet Protocol These network protocols provide a standard method for sending
More informationIntroduc)on to Computer Networks
Introduc)on to Computer Networks COSC 4377 Lecture 3 Spring 2012 January 25, 2012 Announcements Four HW0 s)ll missing HW1 due this week Start working on HW2 and HW3 Re- assess if you found HW0/HW1 challenging
More informationCSCD 330 Network Programming Spring 2018
CSCD 330 Network Programming Spring 2018 Lecture 4 Application Layer Reading: Chapter 2 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2017 1 Chapter 1: Network
More informationChapter 1 Introduction
Chapter 1 Introduction Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Slides adopted from original ones provided by the textbook authors. Introduction
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Application Layer: Cookies, Web Caching, SMTP Sec 2.2.4-2.4 Prof. Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network
More informationNotes beforehand... For more details: See the (online) presentation program.
Notes beforehand... Notes beforehand... For more details: See the (online) presentation program. Topical overview: main arcs fundamental subjects advanced subject WTRs Lecture: 2 3 4 5 6 7 8 Today: the
More informationCSCE 463/612 Networks and Distributed Processing Spring 2018
CSCE 463/612 Networks and Distributed Processing Spring 2018 Application Layer II Dmitri Loguinov Texas A&M University February 6, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter
More informationCOMPUTER NETWORK. Homework #1. Due Date: March 29, 2017 in class
Computer Network Homework#1 COMPUTER NETWORK Homework #1 Due Date: March 29, 2017 in class Question 1 What is the role of HTTP in a network application? What other components are needed to complete a Web
More informationCSE 333 Lecture HTTP
CSE 333 Lecture 19 -- HTTP Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington Administrivia HW4 due a week from Thursday - How s it look? Today: http; finish networking/web
More informationInternet Content Distribution
Internet Content Distribution Chapter 1: Introduction Jussi Kangasharju Chapter Outline Introduction into content distribution Basic concepts TCP DNS HTTP Outline of the rest of the course Kangasharju:
More informationLecture 12. Application Layer. Application Layer 1
Lecture 12 Application Layer Application Layer 1 Agenda The Application Layer (continue) Web and HTTP HTTP Cookies Web Caches Simple Introduction to Network Security Various actions by network attackers
More informationContent Delivery on the Web: HTTP and CDNs
Content Delivery on the Web: HTTP and CDNs Mark Handley UCL Computer Science CS 3035/GZ01 Outline The Web: HTTP and caching The Hypertext Transport Protocol: HTTP HTTP performance Persistent and concurrent
More informationApplication Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app
Application Layer e- web instant messaging remote login P2P file sharing multi- network games streaming stored video (YouTube) voice over IP real-time video conferencing cloud computing Creating a network
More informationWeb History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990:
Systemprogrammering 2006 Föreläsning 9 Web Services Topics HTTP Serving static content Serving dynamic content 1945: 1989: Web History Vannevar Bush, As we may think, Atlantic Monthly, July, 1945. Describes
More informationWeb Search An Application of Information Retrieval Theory
Web Search An Application of Information Retrieval Theory Term Project Summer 2009 Introduction The goal of the project is to produce a limited scale, but functional search engine. The search engine should
More informationInformation Network Systems The application layer. Stephan Sigg
Information Network Systems The application layer Stephan Sigg Tokyo, November 15, 2012 Introduction 04.10.2012 Introduction to the internet 11.10.2012 The link layer 18.10.2012 The network layer 25.10.2012
More informationWEB TECHNOLOGIES CHAPTER 1
WEB TECHNOLOGIES CHAPTER 1 WEB ESSENTIALS: CLIENTS, SERVERS, AND COMMUNICATION Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson THE INTERNET Technical origin: ARPANET (late 1960
More information2- Application Level Protocols HTTP 1.0/1.1/2
2- Application Level Protocols HTTP 1.0/1.1/2 HTTP, (HyperText Transfer Protocol) Basis for fetching Web pages request Network CSE 461 University of Washington 2 Sir Tim Berners-Lee (1955 ) Inventor of
More informationComputer Networks and Applications
COMP 3331/COMP 9331 Week 2 Introduction(Protocol Layering) & Application Layer (Principles, Web, E- mail) Reading Guide: Chapter 1, Sections 1.5 Chapter 2, Sections 2.1-2.4 Week2: Introduction & Application
More informationElectronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol
SMTP Electronic Mail Three Components: 1. User Agents a.k.a. mail reader e.g., gmail, Outlook, yahoo 2. Mail Servers mailbox contains incoming messages for user message queue of outgoing (to be sent) mail
More informationPage # Lecture Overview. Lecture 3 Design Philosophy & Applications. Internet Architecture. Priorities. Survivability.
Lecture Overview Lecture 3 Design Philosophy & Applications David Andersen School of Computer Science Carnegie Mellon University 15-441 Networking, Fall 2006 http://www.cs.cmu.edu/~srini/15-441/f06/ 1
More informationApplication Layer Chapter 2
Application Layer Chapter 2 Silvia Giordano SUPSI CH-6928 Manno silvia.giordano@supsi.ch http://www.supsi.ch SUPSI-DTI Silvia Giordano 10/06/2004 Application Layer 1 Chapter goals: learn about protocols
More informationHTTP TRAFFIC CONSISTS OF REQUESTS AND RESPONSES. All HTTP traffic can be
3 HTTP Transactions HTTP TRAFFIC CONSISTS OF REQUESTS AND RESPONSES. All HTTP traffic can be associated with the task of requesting content or responding to those requests. Every HTTP message sent from
More informationCS631 - Advanced Programming in the UNIX Environment
CS631 - Advanced Programming in the UNIX Environment Slide 1 CS631 - Advanced Programming in the UNIX Environment HTTP; Code Reading Department of Computer Science Stevens Institute of Technology Jan Schaumann
More informationConfigure ACE with Source NAT and Client IP Header Insert
Configure ACE with Source NAT and Client IP Header Insert Document ID: 107399 Contents Introduction Prerequisites Requirements Components Used Conventions Configure Network Diagram Configurations Verify
More informationWorld Wide Web. Before WWW
FEUP, João Neves World Wide Web Joao.Neves@fe.up.pt CAcer t WoT User Digitally signed by CAcert WoT User DN: cn=cacert WoT User, email=joao.neves@i nescporto.pt, email=b2d718a54c3 83ce1a9d48aa87e2ef 687ee8769f0
More informationWWW Document Technologies
WWW Document Technologies Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring Overview The Internet
More informationParameterization in OpenSTA for load testing. Parameterization in OpenSTA Author: Ranjit Shewale
Parameterization in OpenSTA Author: Ranjit Shewale (jcrvs@hotmail.com) Date: 14 th April 2003 What is OpenSTA? OpenSTA is a load testing tool used by performance test engineers. For more details please
More informationGiving credit where credit is due
CSCE 230J Computer Organization Web Services Dr. Steve Goddard goddard@cse.unl.edu Giving credit where credit is due Most of slides for this lecture are based on slides created by Drs. Bryant and O Hallaron,
More informationHTTP Review. Carey Williamson Department of Computer Science University of Calgary
HTTP Review Carey Williamson Department of Computer Science University of Calgary Credit: Most of this content was provided by Erich Nahum (IBM Research) Introduction to HTTP http request http request
More informationCSE 333 Lecture HTTP
CSE 333 Lecture 19 -- HTTP Hal Perkins Department of Computer Science & Engineering University of Washington Administrivia Server-side programming exercise due Wed. morning HW4 due a week later - How s
More informationNetwork Applications and the Web
Network Applications and the Web Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana October 4, 2017 Outline General concepts for network applications Client/server architecture
More informationApplication Layer Introduction; HTTP; FTP
Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers
More informationChapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach
Chapter 2 Application Layer Lecture 4: principles of network applications Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Chapter
More informationHow the Internet Works
How the Internet Works Contents World Wide Web, which is made of HTML and HTTP and communicates over TCP/IP, which uses Ethernet and other network media. Supported by routing and DNS 2 WWW Page 3 HTML
More informationHTTP (HyperText Transfer Protocol)
1 HTTP (HyperText Transfer Protocol) Table of Contents HTTP (HYPERTEXT TRANSFER PROTOCOL)... 1 HTTP (HYPERTEXT TRANSFER PROTOCOL)... 3 What really happens when you navigate to a URL 3 1. You enter a URL
More informationApplication Layer. Goals: Service models. Conceptual aspects of network application protocols Client server paradigm
Application Layer Goals: Conceptual aspects of network application protocols Client server paradigm Service models Review protocols by examining popular application-level protocols HTTP DNS 1 Applications
More information