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

Size: px
Start display at page:

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

Transcription

1 Announcements The World Wide Web Project #2 out Checkpoint due Weds Oct 18 Full project due Thurs Oct 26 EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim Materials with thanks to Jennifer Rexford, Ion Stoica, and colleagues at Princeton and UC Berkeley 1 2 Goals of Today s Lecture (Finish - retrieving mail from the server) Main ingredients of the Web URIs, HTML, HTTP Key properties of HTTP Request-response, stateless, and resource meta-data Performance of HTTP Parallel connections, persistent connections, pipelining Web components, proxies, and servers Caching vs. replication 3 Retrieving From the stores incoming by mailbox Based on the From field in the message Users need to retrieve Variety of ways to do this: Directly by same-machine access to the mailbox Via Interactive Mail Access Protocol (IMAP) Supports concurrent access by multiple clients, server-side searchers, partial MIME fetches, multiple mailboxes Via HTTP (Web) E.g., GMail Via Post Office Protocol (POP) 4 POP3 Protocol Authorization phase Client commands: user: declare username pass: password responses +OK -ERR Transaction phase, client: list: list message numbers retr: retrieve message by number dele: delete quit S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on C: list S: S: S:. C: retr 1 S: <message 1 contents> S:. C: dele 1 C: retr 2 S: <message 1 contents> S:. C: dele 2 C: quit S: +OK POP3 server signing off 5 The World Wide Web 6 1

2 Main Components: URIs Uniform Resource Identifier (URI) Denotes a resource Could be its name Could be its location Which is better? Uniform Resource Name (URN) Names a resource independent of how to get it E.g., urn:ietf:rfc:2396 is a standard URN for RFC 2396 Uniform Resource Locator (URL) Specifies how to access a resource E.g., ftp://ftp.rfc-editor.org/in-notes/rfc2396.txt 7 URL Syntax protocol://hostname[:port]/directorypath/resource Protocol might be http, ftp, https, smtp, rtsp, In practice, hostname can instead be an IP address What does your browser (maybe) show for Port defaults to the standard port associated w/ protocol E.g., 80/tcp for http, 443/tcp for https Directory path is hierarchical, often reflecting file system Can extend resource to program executions as well MsgId=2604_ _29699_1123_1261_0_28917_3552_ &Search=&Nhead=f&YY=31454&order=down&sort=date&pos= 0&view=a&head=b 8 Main Components: HTML HyperText Markup Language (HTML) Representation of hypertext documents in ASCII format Format text, reference images, embed hyperlinks (HREF) Interpreted by Web browsers when rendering a page Straight-forward to learn Can basically start with a plain text file Easy to add formatting, references, bullets, etc. Automatically generated by authoring programs Tools to aid users in creating HTML files Your browser likely can show a page s raw HTML Web page Base HTML file referenced objects (e.g., images) Each object has its own URL 9 Main Components: HTTP HyperText Transfer Protocol (HTTP) Client-server protocol for transferring resources Important properties of HTTP Request-response protocol Reliance on a global URI namespace Resource metadata Stateless ASCII format % telnet 80 GET /vern/ HTTP/1.0 <blank line, i.e., CRLF> 10 HTTP Request Message Request message sent by a client Request line: method, resource, and protocol version Request headers: provide information or modify request Body: optional data (e.g., to POST data to the server) request line (GET, POST, HEAD commands) Carriage return, line feed indicates end of message header lines GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr blank line Not optional 11 HTTP Response Message Response message sent by a server Status line: protocol version, status code, status phrase Response headers: provide information Body: optional data status line (protocol status code status phrase) data, e.g., requested HTML file header lines HTTP/ OK Connection close Date: Thu, 06 Aug :00:15 GMT : Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun Content-Length: 6821 Content-Type: text/html blank line data data data data data

3 Request Methods and Response Codes Request methods include GET: return current value of resource, run program, HEAD: return the meta-data associated with a resource POST: update a resource, provide input to a program, Response code classes 1xx: informational (e.g., 100 Continue ) 2xx: success (e.g., 200 OK ) 3xx: redirection (e.g., 304 Not Modified ) 4xx: client error (e.g., 404 Not Found ) 5xx: server error (e.g., 503 Service Unavailable ) (Similar to other ASCII app. protocols like SMTP, FTP) 13 HTTP Resource Meta-Data Meta-data Information relating to a resource but not part of the resource itself Examples of meta-data Size of a resource Type of the content Last modification time Typing of content borrowed from Multipurpose Internet Mail Extensions (MIME) Data format classification (e.g., Content-Type: text/html) Enables browsers to automatically launch a viewer 14 Example: Conditional GET Request Fetch resource only if it has changed at the server GET /~ee122/fa06/ HTTP/1.1 Host: inst.eecs.berkeley.edu User-Agent: Mozilla/4.03 If-Modified-Since: Sun, 27 Aug :25:50 GMT <CRLF> avoids wasting resources to send again inspects the last modified time of the resource and compares to the if-modified-since time Returns 304 Not Modified if resource has not changed. or a 200 OK with the latest version otherwise 15 Stateless Operation Stateless protocol Each request-response exchange treated independently and servers not required to retain state Statelessness improves scalability Avoid need for server to retain info across requests Enable server to handle a higher rate of requests However, some applications need persistent state To uniquely identify the user or store temporary info E.g., personalize a Web page, compute profiles or access statistics by user, track a shopping cart. Done using cookies 16 Cookies Cookie Small(?) state stored by client on behalf of server Included in future requests to the server Request Response Set-Cookie: XYZ Request Cookie: XYZ 17 Web Components Send requests and receive responses Browsers, spiders, and agents s Receive requests and send responses Store or generate the responses Proxies Act as a server for the client, and a client to the server Perform extra functions such as caching, anonymization, logging, transcoding, filtering access. Can be explicit or transparent ( interception ) 18 3

4 Web Browser Generating HTTP requests: User types URL, clicks a hyperlink, or selects bookmark User clicks reload, or submit on a Web page Automatic downloading of embedded images Fetches content Via one or multiple HTTP connections Layout of response Parsing HTML and rendering the Web page Invoking helper applications (e.g., Acrobat, RealPlayer) Maintains cache Storing recently-viewed objects Checking that cached objects are fresh 19 Web Web site vs. Web server Web site: collections of Web pages associated with a particular host name Web server: program that satisfies client requests for Web resources Handling a client request: Accept a TCP connection Read and parse the HTTP request message Translate the URL to a filename Determine whether the request is authorized Generate and transmit the response 20 Web : Generating a Response Returning a file URL corresponds to a file (e.g., /www/index.html) the server returns the file as the response along with the HTTP response header Returning meta-data with no body Example: client requests object If-modified-since checks if the object has been modified and simply returns HTTP/ Not Modified Dynamically-generated responses URL corresponds to a program the server needs to run runs the program and sends the output to client 21 5 Minute Break Questions Before We Proceed? 22 HTTP Performance Fetch HTTP Items: Stop & Wait Most Web pages have multiple objects ( items ) E.g., HTML file and a bunch of embedded images Obvious way to fetch these: one item at a time Client Start fetching page Request item 1 Transfer item 1 Request item 2 Time What is that directly analogous to? Transfer item 2 Request item 3 Finish; display page Transfer item

5 HTTP Performance Pipelined Requests/Responses Most Web pages have multiple objects ( items ) E.g., HTML file and a bunch of embedded images Obvious way to fetch these: one item at a time What is that directly analogous to? What are the performance implications? Where does the analogy possibly break down? 25 Batch requests and responses to reduce the number of packets Multiple requests can be contained in one TCP segment Small items (common) can also share segments Note: maintains order of responses Item 1 always arrives before item 2 HTTP 1.1 feature (not in 1.0) Client Request 1 Request 2 Request 3 Transfer 1 Transfer 2 Transfer 3 26 Concurrent Requests/Responses Persistent Connections Use multiple connections to issue requests and responses in parallel Does not necessarily maintain order of responses Raises question of fairness Set of N parallel connections grabs bandwidth N times more aggressively than just one What s a reasonable/fair limit as traffic competes with that of other users? Client Request 1 Request 2 Request 3 Transfer 2 Transfer 3 Transfer 1 Handle multiple transfers per connection Including transfers subsequent to imaging current page Maintain TCP connection across multiple requests Either client or server can tear down the connection Performance advantages Avoid overhead of connection set-up and tear-down Allow TCP to learn more accurate RTT estimate Allow the TCP congestion window to increase I.e, leverage previously discovered bandwidth Performance - Caching Exploit locality of reference Modifier to GET requests: If-modified-since returns not modified if resource not modified since specified time Response header: Expires specifies for how long it s safe to cache the resource Or: No-cache ignore all caches; always get resource directly from server Features best for use by HTTP proxies Locality of reference increases if many clients share a proxy 29 HTTP Without Caching Many clients transfer same information Generates redundant server and network load experience unnecessary latency 30 5

6 Reverse Proxies Cache documents close to server decrease server load Typically done by content providers Only works for static content Forward Proxies Cache documents close to clients reduce network traffic and decrease latency Typically done by ISPs or corporate LANs Reverse proxies Reverse proxies Forward proxies Content Distribution Networks (CDNs) CDNs (cont d) Integrate forward and reverse caching functionality into one overlay network (usually) administrated by one entity Example: Akamai Documents are cached both as a result of clients requests (pull) due to being pushed in expectation of high access rate Forward proxies CDN Besides caching, do processing, e.g., Handle dynamic web pages Transcoding Example: Akamai Example: Akamai CDN Akamai creates new domain names for each client content provider. e.g., i.a.cnn.net = CNAME custom.i.cnn.net.edgesuite.net custom.i.cnn.net.edgesuite.net = CNAME a1921.aol.akamai.net Customer content provider modifies content so that embedded URLs reference new domains: CNN page s HREF s refer to i.a.cnn.net Customer pushes content out to Akamai as it changes Or: Akamai pulls it on demand w/ usual caching mech. Both CNN & Akamai have control over load distribution 35 DNS server for cnn.com GET cnn.com Akamaizes its content. lookup a1921.aol.akamai.net local DNS server akamai.net DNS servers Akamaized response object has inline URLs for secondary content at (after resolving CNAMEs) a1921.aol.akamai.net and other Akamai-managed DNS names. a Akamai servers store/cache secondary content for Akamaized services. b c 36 6

7 Hosting: Multiple Sites Per Machine Multiple Web sites on a single machine Hosting company runs the Web server on behalf of multiple sites (e.g., and Problem: GET index.html Is it for or Solution #1: multiple servers on the same machine Run multiple Web servers on the machine Have a separate IP address (or port) for each server Solution #2: include site name in the HTTP request Run a single Web server with a single IP address and include Host header (e.g., Host: ) Required header with HTTP Hosting: Multiple Machines Per Site Replicating a popular Web site Running on multiple machines to handle the load and to place content closer to the clients particularly if content isn t cacheable by proxies/cdns Problem: directing client to a particular replica To balance load across the server replicas To pair clients with nearby servers Solution #1: manual selection by clients Each replica has its own site name A Web page lists the replicas (e.g., by name, location) and asks clients to click on a hyperlink to pick 38 Hosting: Multiple Machines Per Site Solution #2: single IP address, multiple machines Run multiple machines behind a single IP address Hosting: Multiple Machines Per Site Solution #3: multiple addresses, multiple machines Same name but different addresses for all of the replicas Configure DNS server to return different addresses Load Balancer Internet Ensure all packets from a single TCP connection go to the same replica Caching vs. Replication Motivations for moving content close to users Reduce latency for the user Reduce load on the network and the server Caching Replicating the content on demand after a request Storing the response message locally for future use May need to verify if the response has changed and some responses are not cacheable Replication Planned replication of the content in multiple locations Updating of resources handled outside of HTTP Conclusions Key ideas underlying the Web Uniform Resource Identifier (URI), Locator (URL) HyperText Markup Language (HTML) HyperText Transfer Protocol (HTTP) Browser helper applications based on content type Performance implications Concurrent connections, pipelining, persistent conns. Main Web components, servers, proxies, CDNs Next lecture: drilling down to the link layer P&D , 2.6, 2.8 Can replicate scripts that create dynamic responses

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

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 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 http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks

More information

Announcements. The World Wide Web. Goals of Today s Lecture. The World Wide Web HTML. Web Components

Announcements. The World Wide Web. Goals of Today s Lecture. The World Wide Web HTML. Web Components Announcements The World Wide Web Project #1 - Milestone 1 Due 11pm Tonight No slip days! EE 122: Intro to Communication Networks Fall 2007 (WF 4-5:30 in Cory 277) Lisa Fowler / Vern Paxson TAs: Lisa Fowler,

More information

Content Delivery on the Web: HTTP and CDNs

Content 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 information

CS457 Applications. Fall 2014

CS457 Applications. Fall 2014 CS457 Applications Fall 2014 Topics Main ingredients of the Web URL, HTML, and HTTP Key properties of HTTP Request-response, stateless, and resource meta-data Web components Clients, proxies, and servers

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer 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 information

WWW: the http protocol

WWW: 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 information

CMSC 332 Computer Networking Web and FTP

CMSC 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 information

Web, HTTP and Web Caching

Web, 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 information

Application Protocols and HTTP

Application 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 information

Review of Previous Lecture

Review 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 information

CSC 4900 Computer Networks:

CSC 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 information

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

1-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 information

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

Lecture 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 information

HyperText Transfer Protocol

HyperText 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 information

EECS 122: Introduction to Computer Networks DNS and WWW. Internet Names & Addresses

EECS 122: Introduction to Computer Networks DNS and WWW. Internet Names & Addresses EECS 122: Introduction to Computer Networks DNS and WWW Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776 Internet

More information

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

Chapter 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 information

Lecture 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 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 information

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

Networking. 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 information

Chapter 2 Application Layer

Chapter 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 information

Layered Model. DoD Model. ISO/OSI Model

Layered 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 information

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

CS4/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 information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-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 information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-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 information

Internet Content Distribution

Internet 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 information

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSCE 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 information

Traditional Web Based Systems

Traditional Web Based Systems Chapter 12 Distributed Web Based Systems 1 Traditional Web Based Systems The Web is a huge distributed system consisting of millions of clients and servers for accessing linked documents Servers maintain

More information

EE 122: HyperText Transfer Protocol (HTTP)

EE 122: HyperText Transfer Protocol (HTTP) Background EE 122: HyperText Transfer Protocol (HTTP) Ion Stoica Nov 25, 2002 World Wide Web (WWW): a set of cooperating clients and servers that communicate through HTTP HTTP history - First HTTP implementation

More information

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

Outline 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 information

Introduc)on to Computer Networks

Introduc)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 information

Networked Applications: Sockets. Goals of Todayʼs Lecture. End System: Computer on the ʻNet. Client-server paradigm End systems Clients and servers

Networked Applications: Sockets. Goals of Todayʼs Lecture. End System: Computer on the ʻNet. Client-server paradigm End systems Clients and servers Networked Applications: Sockets CS 375: Computer Networks Spring 2009 Thomas Bressoud 1 Goals of Todayʼs Lecture Client-server paradigm End systems Clients and servers Sockets and Network Programming Socket

More information

Lecture 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 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 information

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental

More information

CS 194: Distributed Systems WWW and Web Services

CS 194: Distributed Systems WWW and Web Services The Web History (I) CS 194: Distributed Systems WWW and Web Services Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California,

More information

Web, HTTP, Caching, CDNs

Web, HTTP, Caching, CDNs Web, HTTP, Caching, CDNs Outline Web HyperText Transfer Protocol (HTTP) Inefficiencies in HTTP HTTP Persistent Connections Caching CDNs Consistent Hashing CS 640 1 Web Original goal of the web: mechanism

More information

CMPE 151: Network Administration. Servers

CMPE 151: Network Administration. Servers CMPE 151: Network Administration Servers Announcements Unix shell+emacs tutorial. Basic Servers Telnet/Finger FTP Web SSH NNTP Let s look at the underlying protocols. Client-Server Model Request Response

More information

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

Chapter 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 information

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

Electronic 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 information

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

ELEC / 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 information

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

World-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 information

The Application Layer HTTP and FTP

The Application Layer HTTP and FTP The Application Layer HTTP and FTP File Transfer Protocol (FTP) Allows a user to copy files to/from remote hosts Client program connects to FTP server provides a login id and password allows the user to

More information

Foundations of Telematics

Foundations 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 information

WEB TECHNOLOGIES CHAPTER 1

WEB 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 information

Networked Applications: Sockets. End System: Computer on the Net

Networked Applications: Sockets. End System: Computer on the Net Networked Applications: Sockets Topics Programmer s view of the Internet Sockets interface End System: Computer on the Net Internet Also known as a host 2 Page 1 Clients and Servers Client program Running

More information

Chapter 2 Application Layer

Chapter 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 information

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

Application 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 information

Internet Design Principles

Internet Design Principles Internet Design Principles EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials

More information

Applications & Application-Layer Protocols: The Web & HTTP

Applications & Application-Layer Protocols: The Web & HTTP CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

Lecture 6: Application Layer Web proxies, , and SMTP

Lecture 6: Application Layer Web proxies,  , and SMTP Lecture 6: Application Layer Web proxies, Email, and SMTP COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,

More information

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

Application 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 information

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

HTTP 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 information

Distributed Systems are Everywhere!" CS162 Operating Systems and Systems Programming Lecture 22 Client-Server" Client-Server" Message Passing"

Distributed Systems are Everywhere! CS162 Operating Systems and Systems Programming Lecture 22 Client-Server Client-Server Message Passing CS162 Operating Systems and Systems Programming Lecture 22 Client- April 18, 2011! Ion Stoica! http://inst.eecs.berkeley.edu/~cs162! Distributed Systems are Everywhere!" We need (want?) to share physical

More information

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

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim TCP Performance EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks

More information

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Produced 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 information

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

Internet 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 information

Application Level Protocols

Application 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 information

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

3. WWW and HTTP. Fig.3.1 Architecture of WWW 3. WWW and HTTP The World Wide Web (WWW) is a repository of information linked together from points all over the world. The WWW has a unique combination of flexibility, portability, and user-friendly features

More information

Chapter 2 Application Layer

Chapter 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 information

Network Applications Principles of Network Applications

Network Applications Principles of Network Applications Network Applications Principles of Network Applications A Network application is an application running on one host and provides communication to another application running on a different host. At the

More information

World Wide Web. Before WWW

World 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 information

Notes beforehand... For more details: See the (online) presentation program.

Notes 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 information

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

CS 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 information

CS 43: Computer Networks. HTTP September 10, 2018

CS 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 information

SCS3004 Networking Technologies Application Layer Protocols

SCS3004 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 information

IP Addressing & Forwarding

IP Addressing & Forwarding IP Addressing & Forwarding EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials

More information

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

Chapter 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 information

ECE697AA Lecture 2. Today s lecture

ECE697AA 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 information

CS 43: Computer Networks. 12: and SMTP September 28, 2018

CS 43: Computer Networks. 12:  and SMTP September 28, 2018 CS 43: Computer Networks 12: Email and SMTP September 28, 2018 A. HTTP Mail s communicate using B. IMAP C. POP D. SMTP Lecture 12 - Slide 2 Mail s typically A. send messages directly from the sending s

More information

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

Chapter 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 information

Application Layer Introduction; HTTP; FTP

Application 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 information

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

COMPUTER 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 information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 20 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

CSE 123b Communications Software

CSE 123b Communications Software CSE 123b Communications Software Spring 2002 Lecture 13: Content Distribution Networks (plus some other applications) Stefan Savage Some slides courtesy Srini Seshan Today s class Quick examples of other

More information

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

CS 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 information

Information Network Systems The application layer. Stephan Sigg

Information 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 information

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm. Web Technology COMP476 Networked Computer Systems - Paradigm The method of interaction used when two application programs communicate over a network. A server application waits at a known address and a

More information

Lecture 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 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 information

CSE/EE 461 HTTP and the Web

CSE/EE 461 HTTP and the Web CSE/EE 461 HTTP and the Web Last Time The Transport Layer Focus How does TCP share bandwidth? Topics AIMD Slow Start Application Presentation Session Transport Network Data Link Fast Retransmit / Fast

More information

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1 Lecture 25 Reminders: Homework 7 due today. Homework 8 posted. Due at the beginning of the last day of class for final exam review. Programming Project 6 posted. Final project worth double. Due by 4:30pm,

More information

Application Layer Chapter 2

Application 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 information

The Application Layer: SMTP, FTP

The Application Layer: SMTP, FTP The Application Layer: SMTP, FTP CS 352, Lecture 5 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana 1 Recap: Application-layer protocols DNS: lookup a (machine-readable) address using a (humanreadable)

More information

CompSci 356: Computer Network Architectures. Lecture 23: Application Layer Protocols Chapter 9.1. Xiaowei Yang

CompSci 356: Computer Network Architectures. Lecture 23: Application Layer Protocols Chapter 9.1. Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 23: Application Layer Protocols Chapter 9.1 Xiaowei Yang xwy@cs.duke.edu The Internet Architecture Application layer Transport layer / Layer 4 Network

More information

COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS. Web Access: HTTP Mehmet KORKMAZ

COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS. Web Access: HTTP Mehmet KORKMAZ COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS Web Access: HTTP 16501018 Mehmet KORKMAZ World Wide Web What is WWW? WWW = World Wide Web = Web!= Internet Internet is a global system of interconnected computer

More information

13. Internet Applications 최양희서울대학교컴퓨터공학부

13. Internet Applications 최양희서울대학교컴퓨터공학부 13. Internet Applications 최양희서울대학교컴퓨터공학부 Internet Applications Telnet File Transfer (FTP) E-mail (SMTP) Web (HTTP) Internet Telephony (SIP/SDP) Presence Multimedia (Audio/Video Broadcasting, AoD/VoD) Network

More information

Chapter 2 Application Layer

Chapter 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 information

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

Lecture 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 information

Announcements. IP Addressing & Forwarding. Designing IP s Addresses. Goals of Today s Lecture. Grouping Related Hosts. IP Addresses (IPv4)

Announcements. IP Addressing & Forwarding. Designing IP s Addresses. Goals of Today s Lecture. Grouping Related Hosts. IP Addresses (IPv4) Announcements IP Addressing & Forwarding EE 122 Intro to Communication Networks Fall 2006 (MW 4-530 in Donner 155) Vern Paxson TAs Dilip Antony Joseph and Sukun Kim http//inst.eecs.berkeley.edu/~ee122/

More information

CS 5450 HTTP. Vitaly Shmatikov

CS 5450 HTTP. Vitaly Shmatikov CS 5450 HTTP Vitaly Shmatikov Browser and Network Browser OS Hardware request reply website Network slide 2 HTML A web page includes Base HTML file Referenced objects (e.g., images) HTML: Hypertext Markup

More information

Today s class. CSE 123b Communications Software. Telnet. Network File System (NFS) Quick descriptions of some other sample applications

Today s class. CSE 123b Communications Software. Telnet. Network File System (NFS) Quick descriptions of some other sample applications CSE 123b Communications Software Spring 2004 Today s class Quick examples of other application protocols Mail, telnet, NFS Content Distribution Networks (CDN) Lecture 12: Content Distribution Networks

More information

CSC 401 Data and Computer Communications Networks

CSC 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 information

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes

More information

COMP6218: Content Caches. Prof Leslie Carr

COMP6218: Content Caches. Prof Leslie Carr COMP6218: Content Caches Prof Leslie Carr 1 Slashdot.org The Slashdot effect, also known as slashdotting, occurs when a popular website links to a smaller site, causing a massive increase in traffic 2

More information

Internet Technology. 03r. Application layer protocols: . Paul Krzyzanowski. Rutgers University. Spring 2016

Internet Technology. 03r. Application layer protocols:  . Paul Krzyzanowski. Rutgers University. Spring 2016 Internet Technology 03r. Application layer protocols: email Paul Krzyzanowski Rutgers University Spring 2016 1 Email: SMTP (Simple Mail Transfer Protocol) 2 Simple Mail Transfer Protocol (SMTP) Protocol

More information

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

Lecture 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 information

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

Application 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

Applications & Application-Layer Protocols: FTP and (SMTP & POP)

Applications & Application-Layer Protocols: FTP and  (SMTP & POP) COMP 431 Internet Services & Protocols Applications & Application-Layer Protocols: FTP and E ( & POP) Jasleen Kaur February 7, 2019 Application-Layer Protocols Outline Example client/ systems and their

More information

EECS 3214: Computer Network Protocols and Applications

EECS 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 information

HTTP and Web Content Delivery

HTTP 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 information

Review for Internet Introduction

Review for Internet Introduction Review for Internet Introduction What s the Internet: Two Views View 1: Nuts and Bolts View billions of connected hosts routers and switches protocols control sending, receiving of messages network of

More information

Network Performance: Queuing

Network Performance: Queuing Network Performance: Queuing EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials

More information

Midterm Review. EE122 Fall 2011 Scott Shenker

Midterm Review. EE122 Fall 2011 Scott Shenker Midterm Review EE122 Fall 2011 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley 1

More information