Computer Networks. HTTP and more. Jianping Pan Spring /20/17 CSC361 1

Similar documents
Internet applications

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

HyperText Transfer Protocol

Web, HTTP and Web Caching

CS 43: Computer Networks. HTTP September 10, 2018

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

CMSC 332 Computer Networking Web and FTP

Computer Networks. Wenzhong Li. Nanjing University

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

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose

CSC 257/457 Computer Networks. Fall 2017 MW 4:50 pm 6:05 pm CSB 601

CSC 401 Data and Computer Communications Networks

CSC 4900 Computer Networks:

Computer Network Midterm Explain Internet protocol stack (1% each layer s name, 1% each layer s functions, 10% total)

Review of Previous Lecture

CSC358 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

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016

Chapter 2 Application Layer

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

Application Protocols and HTTP

Web as a Distributed System

CSEN 503 Introduction to Communication Networks

EECS 3214: Computer Network Protocols and Applications

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Web. Computer Organization 4/16/2015. CSC252 - Spring Web and HTTP. URLs. Kai Shen

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

Application Layer: HTTP

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

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

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

Today: World Wide Web! Traditional Web-Based Systems!

Chapter 2 Application Layer

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

CSc 450/550 Computer Networks Network Architectures & Client-Server Model

Chapter 2 Application Layer

CSc 450/550 Computer Networks Domain Name System

Chapter 6: Distributed Systems: The Web. Fall 2012 Sini Ruohomaa Slides joint work with Jussi Kangasharju et al.

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

Proxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24

Foundations of Telematics

How to Configure SSL VPN Portal for Forcepoint NGFW TECHNICAL DOCUMENT

Introduc)on to Computer Networks

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

CSE/EE 461 HTTP and the Web

CSCI-1680 WWW Rodrigo Fonseca

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

Last Class: Consistency Models. Today: Implementation Issues

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

DNS and HTTP. A High-Level Overview of how the Internet works

Secure Access Troubleshooting Rewrite related issues (Core/Web Based Access)

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

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 5

416 Distributed Systems. March 23, 2018 CDNs

Chapter 2 Application Layer

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

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

Lecture Overview. Lecture 3 Design Philosophy & Applications. Internet Architecture. Priorities

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

Applications & Application-Layer Protocols: The Web & HTTP

Computer Networks. Domain Name System. Jianping Pan Spring /25/17 CSC361 1

CSCD 330 Network Programming Spring 2018

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

Distil Networks & F5 Networks Integration Guide

CSCI-1680 WWW Rodrigo Fonseca

Chapter II: Application Layer

Today: World Wide Web

Content Delivery on the Web: HTTP and CDNs

FAU. How do I. Post course content? Folders

Today: World Wide Web. Traditional Web-Based Systems

Layered Model. DoD Model. ISO/OSI Model

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

0 0& Basic Background. Now let s get into how things really work!

CSE 333 Lecture HTTP

Application Layer -1- Network Tools

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

HTTP and Web Content Delivery

Page # Lecture Overview. Lecture 3 Design Philosophy & Applications. Internet Architecture. Priorities. Survivability.

ECE 697J Advanced Topics in Computer Networks

The World Wide Web. Distributed Computing Systems. References. Outline 5/2/2014. The Web. Architecture Processes Caching Web 2.0

From Internet Data Centers to Data Centers in the Cloud

DATA COMMUNICATOIN NETWORKING

INGI1341: Project 2 Analysis of a website

EE 122: HyperText Transfer Protocol (HTTP)

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP SYSTEM WITH BEA WEBLOGIC SERVER

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

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

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

CMPE 151: Network Administration. Servers

Computer Networks - Midterm

Deploying the BIG-IP System v10 with Oracle s BEA WebLogic

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

Q U E S T I O N 3 In the current version of IP (IPv4), the use of TCP and UDP headers differ in which of the following ways?

CSE 123b Communications Software

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

CSE 333 Lecture HTTP

A taste of HTTP v1.1. additions. HTTP v1.1: introduces many complexities no longer an easy protocol to implement. G.Bianchi, G.Neglia, V.

CS 455/555 Spring 2011 Weigle

BSc. (Hons) Web Technologies. Examinations for 2017 / Semester 1

Transcription:

Computer Networks HTTP and more Jianping Pan Spring 2017 1/20/17 CSC361 1

First things first W1 due next Monday (Jan 23) submit a single PDF file through connex Noah posted a docx for for questions on xc feel free to discuss online and offline but do write you own answers how's the lab this week? how's your P1 progress? 1/20/17 CSC361 2

Last lecture Web, URL, HTML and HTTP basics the application-layer protocol for the Web follow the client-server model (stateless) request-reply transaction HTTP request: GET / HTTP/1.0 HTTP response: HTTP/1.0 200 OK the service expected from lower layers reliable data transfer normally by TCP 1/20/17 CSC361 3

Web browsing examples http://www.a.com/index.html <html> <img src=''http://www.a.com/x.gif''> <a ref=''http://www.b.com/y.gif''> <img src=''http://www.b.com/z.gif''></a> </html> In your favorite web browser URL: http://www.a.com Q: how many HTTP requests? 1/20/17 CSC361 4 discussion on blackboard

Today's topics HTTP: advanced topics fit better on TCP improve HTTP efficiency become stateful server and client can know/remember each other deal with scalability web caching and content delivery 1/20/17 CSC361 5

HTTP/TCP TCP connection establishment client: connect(); server: accept() HTTP transaction request: client: send(); server: recv() response: server: send(); client: recv() TCP connection release Q: round-trips? server: close(); client: close() Client is to retrieve the embedded objects 1/20/17 CSC361 6

Example http://www.a.com/index.html <html> <img src=''http://www.a.com/x.gif''> <a ref=''http://www.a.com/y.gif''> <img src=''http://www.a.com/z.gif''></a> </html> 1/20/17 CSC361 7

Non-persistent HTTP One object per TCP connection default behavior in HTTP/1.0 network cost: ~2*RTT per object end-host cost: 1 socket() for each object Performance improvement parallel/concurrent connections e.g., an HTML page with 2 embedded objects Q: cost reduced? 1/20/17 CSC361 8 Figure on blackboard

Persistent HTTP Multiple objects through a TCP connection between the same client/server default behavior in HTTP/1.1 for HTTP/1.0: Connection: Keep-Alive network cost: ~RTT per object for many objects to disable/close: Connection: Close client/server Keep-Alive timeout Performance improvement: pipelining Q: pros and cons? ~2*RTT for all objects from the same server 1/20/17 CSC361 9 Figure on blackboard

Client-server states HTTP itself is stateless request-reply transactions Many applications require states cookie issued by server s backend servers HTTP response header: Set-Cookie client can choose to keep cookie client presents cookie in subsequent requests HTTP request header: Cookie 1/20/17 CSC361 10

HTTP cookies: an example client server ebay 8734 cookie file ebay 8734 amazon 1678 one week later: ebay 8734 amazon 1678 usual http request msg usual http response Set-cookie: 1678 usual http request msg cookie: 1678 usual http response msg usual http request msg cookie: 1678 usual http response msg Amazon server creates ID 1678 for user create entry cookiespecific action cookiespectific action 1/20/17 CSC361 11 access access backend database

Tracking client?! Between web servers HTTP request header: Referer Referrer! referrer spamming and referrer spoofing de-referring User security and privacy e.g., cookie theft, cookie poisoning, web bug browsing anonymizing 1/20/17 CSC361 12

server Web caching client Proxy Scalability issues with the client-server model one server, many clients, concurrent requests server load network traffic Web caching: aggregate user requests by caching responses to previous requests explore locality: same requests may occur soon! reduce response time and traffic load client 1/20/17 CSC361 13 Example on blackboard

Consistency control Objects retrieved from the cache may be staled due to updates at origin servers Strong consistency HTTP request header: If-Modified-Since HTTP response: HTTP/1.0 304 Not Modified reduce traffic load if hit Weak consistency Q: pros and cons? time-to-live (TTL) reduce traffic load and response time if hit 1/20/17 CSC361 14

Conditional GET Goal: don t send object if cache has up-to-date cached version cache: specify date of cached copy in HTTP request If-modified-since: <date> server: response contains no object if cached copy is up-todate: HTTP/1.0 304 Not Modified cache HTTP request msg If-modified-since: <date> HTTP response HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> HTTP response HTTP/1.0 200 OK <data> 1/20/17 CSC361 15 server object not modified object modified

Content delivery Move content closer to end users content distribution Redirect users to closer servers information retrieval how do they do that? e.g., Akamai DNS-based server selection more after DNS lectures 1/20/17 CSC361 16

This lecture HTTP (non-)persistence, pipelining, cookies, referrers web caching and content delivery Explore further How do your favorite web browsers and servers support advanced HTTP features? bonus features in your P1? 1/20/17 CSC361 17

Next lecture DNS DNS server hierarchy DNS resolution process DNS-based server selection 1/20/17 CSC361 18