HTTP TRAFFIC CONSISTS OF REQUESTS AND RESPONSES. All HTTP traffic can be

Size: px
Start display at page:

Download "HTTP TRAFFIC CONSISTS OF REQUESTS AND RESPONSES. All HTTP traffic can be"

Transcription

1 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 a Web browser to a Web server is classified as an HTTP request, whereas every message sent from a Web server to a Web browser is classified as an HTTP response. HTTP is often referred to as a stateless protocol. Although this is accurate, it does little to explain the nature of the Web. All this means, however, is that each transaction is atomic, and there is nothing required by HTTP that associates one request with another. A transaction refers to a single HTTP request and the corresponding HTTP response. Another fundamental topic related to the nature of the Web is the topic of connections. Connections When I speak of a connection in HTTP, I refer to a TCP connection. As illustrated in Figure 3.1, a TCP connection requires three separate messages. TCP SYN TCP SYN + ACK TCP ACK Figure 3.1 A TCP connection requires three messages. SYN and ACK are two flags within the TCP segment of a packet. Because TCP is such a common transport layer protocol to be used in conjunction with IP, the combined packet of an IP packet containing a TCP segment is sometimes called a TCP/IP packet, even though it would best be described as a packet within a packet. By this example, you can see that a connection is unlike what you might otherwise expect. After this exchange, both computers simply consider themselves connected. In terms of HTTP, this simply means the server is ready to receive requests from this specific client.there is no real

2 30 Chapter 3 HTTP Transactions active connection in the traditional sense. It is better described as an understanding between the two computers that they are connected. An example of this type of connection is a two-way radio. If you and a friend both have two-way radios, you can establish a similar method for ensuring that you are both able to send and receive messages properly.to do this, you can send a message (by talking into the radio) asking to establish a connection.your friend sends back a confirmation message acknowledging your request and agreeing to the connection. At this point, you feel confident that each of you can both send and receive messages, but your friend cannot be assured of this without knowing whether you received the confirmation.you send back a final message acknowledging the receipt of your friend s confirmation. At this point, you both have confidence in your ability to communicate with these radios. This series of events is very similar to a TCP connection. Note A single connection can support multiple HTTP transactions. In many cases, multiple HTTP transactions are required to properly render a URL in a Web browser due to images and other associated content. Example HTTP Request It is probably easiest to get an idea about what HTTP is by looking at a few examples. Using my Galeon browser, I type in the URL and press Enter.This is actually a request to the Web server running on my local computer ( is a special IP address called the loopback address).the request that my browser sends is as follows: GET / HTTP/1.1 Host: User-Agent: Mozilla/5.0 Galeon/1.2.0 (X11; Linux i686; U;) Gecko/ Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9, text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2, text/css,*/*;q=0.1 Accept-Language: en Accept-Encoding: gzip, deflate, compress;q=0.9 Accept-Charset: ISO , utf-8;q=0.66, *;q=0.66 Keep-Alive: 300 Connection: keep-alive

3 Connections 31 Example HTTP Response In this example, my Web server gives the following response: HTTP/ OK Date: Tue, 21 May :34:56 GMT Server: Apache/ (Unix) (Red-Hat/Linux) mod_python/2.7.8 Python/1.5.2 mod_ssl/2.8.5 OpenSSL/0.9.6b DAV/1.0.2 PHP/4.0.6 mod_perl/1.26 mod_throttle/3.1.2 Last-Modified: Thu, 01 Nov :51:45 GMT ETag: df6b0-b4a-3be1b5e1 Accept-Ranges: bytes Content-Length: 2890 Connection: close Content-Type: text/html <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 3.2 Final//EN > <html> <head> <title>test Page for the Apache Web Server on Red Hat Linux</title> </head> <body bgcolor= #ffffff > (...) </body> </html> The majority of the response is HTML (omitted for brevity). Only the first few lines are HTTP.Thus, as intended, HTTP does not have much overhead. Lower-level protocols such as TCP and IP have even less overhead than HTTP, however, due mostly to the fact that HTTP is intentionally readable.this makes it easy to study and comprehend. Example Transaction A good example transaction to review is a search on Google. Being one of the most popular sites on the Web, most people have interacted with this site at one time or another.when performing a search on HTTP (see Figure 3.2), you enter HTTP into the form field and click the button labeled Google Search. When using my Web browser to perform this search, the following HTTP request is sent when I click the button: GET /search?hl=en&q=http&btng=google+search HTTP/1.1 Host: User-Agent: Mozilla/5.0 Galeon/1.2.0 (X11; Linux i686; U;) Gecko/ Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9, text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2, text/css,*/*;q=0.1 Accept-Language: en Accept-Encoding: gzip, deflate, compress;q=0.9

4 32 Chapter 3 HTTP Transactions Accept-Charset: ISO , utf-8;q=0.66, *;q=0.66 Keep-Alive: 300 Connection: keep-alive Figure 3.2 Searching Google for the term HTTP. Google s Web site responds: HTTP/ OK Server: GWS/2.0 Date: Tue, 21 May :34:56 GMT Transfer-Encoding: chunked Content-Encoding: gzip Content-Type: text/html Cache-control: private Set-Cookie: PREF=ID=58c005a7065c0996:TM= :LM= :S=OLJcXi3RhSE; domain=.google.com; path=/; expires=sun, 17-Jan :14:07 GMT (Web content compressed with gzip) Of interest in this response is that the Web content is of a format that cannot be printed, binary. Because my browser specified in its request that it accepts gzip (GNU zip) encoding, Google chose to encode the response with gzip.this is a popular compression algorithm that allows for a quicker transfer due to the smaller size of the HTTP response. My browser decompresses the content in order to reveal the HTML it needs to render the Web page (the results of my search).

5 Summary 33 Summary This should give you a good introduction to the basics of HTTP transactions. It is important to remember that an HTTP transaction consists of a single HTTP request and the corresponding HTTP response, but that multiple transactions are sometimes required for a single Web page to be ultimately rendered in your Web browser. In the next chapter, I explain some Web development techniques that leverage knowledge of HTTP to make Web development easier and of higher quality.

6

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

World Wide Web, etc.

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

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

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

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

Applications & Application-Layer Protocols: The Web & HTTP

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 information

Matt Terwilliger. Networking Crash Course

Matt Terwilliger. Networking Crash Course Matt Terwilliger Networking Crash Course Before We Start Client/Server Model Client requests information from server over pre-established protocols. TCP/IP Model Application Layer Transport Layer Internet

More information

The BIG-IP System With Intelligent Compression: Cutting Application Delivery Time and Optimizing Bandwidth

The BIG-IP System With Intelligent Compression: Cutting Application Delivery Time and Optimizing Bandwidth The BIG-IP System With Intelligent Compression: Cutting Application Delivery Time and Optimizing Bandwidth Overview The number and complexity of applications delivered over the Internet continues to grow.

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

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

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

Introduction to HTTP. Jonathan Sillito

Introduction to HTTP. Jonathan Sillito Introduction to HTTP Jonathan Sillito If you interested in working with a professor next Summer 2011 apply for an NSERC Undergraduate Student Award. Students must have a GPA of 3.0 or higher to be eligible.

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

Information systems modeling. Tomasz Kubik

Information systems modeling. Tomasz Kubik Information systems modeling Tomasz Kubik Design Pattern Each pattern describes a problem which occurs over and over again in our environment and then describes the core of the solution to that problem,

More information

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

Proxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24 Proxying p.1/24 Proxying Why and How Alon Altman alon@haifux.org Haifa Linux Club Proxying p.2/24 Definition proxy \Prox"y\, n.; pl. Proxies. The agency for another who acts through the agent; authority

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

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

Web Programming 4) PHP and the Web

Web Programming 4) PHP and the Web Web Programming 4) PHP and the Web Emmanuel Benoist Fall Term 2013-14 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 PHP a language for Web applications Presentation

More information

How to work with HTTP requests and responses

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

CS144 Notes: Web Standards

CS144 Notes: Web Standards CS144 Notes: Web Standards Basic interaction Example: http://www.youtube.com - Q: what is going on behind the scene? * Q: What entities are involved in this interaction? * Q: What is the role of each entity?

More information

TCP/IP Networking Basics

TCP/IP Networking Basics TCP/IP Networking Basics 1 A simple TCP/IP Example A user on host argon.tcpip-lab.edu ( Argon ) makes a web access to URL http://neon.tcpip-lab.edu/index.html. What actually happens in the network? 2 HTTP

More information

Name Student ID Department/Year. Midterm Examination. Introduction to Computer Networks Class#: 901 E31110 Fall 2015

Name Student ID Department/Year. Midterm Examination. Introduction to Computer Networks Class#: 901 E31110 Fall 2015 Name Student ID Department/Year Midterm Examination Introduction to Computer Networks Class#: 901 E31110 Fall 2015 9:10-11:10 Wednesday November 4, 2015 Prohibited 1. You are not allowed to write down

More information

HashCookies A Simple Recipe

HashCookies A Simple Recipe OWASP London Chapter - 21st May 2009 HashCookies A Simple Recipe Take a cookie Add some salt Add a sequence number John Fitzpatrick Full paper at http://labs.mwrinfosecurity.com Structure What are hashcookies

More information

COSC 2206 Internet Tools. The HTTP Protocol

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

Browser behavior can be quite complex, using more HTTP features than the basic exchange, this trace will show us how much gets transferred.

Browser behavior can be quite complex, using more HTTP features than the basic exchange, this trace will show us how much gets transferred. Lab Exercise HTTP Objective HTTP (HyperText Transfer Protocol) is the main protocol underlying the Web. HTTP functions as a request response protocol in the client server computing model. A web browser,

More information

HTTP (HyperText Transfer Protocol)

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

TCP/IP Networking An Example

TCP/IP Networking An Example TCP/IP Networking An Example Complexity of networking: an example Review: Layered communication architecture The TCP/IP protocol suite Jörg Liebeherr, 1998,1999 1 A simple TCP/IP Example A user at Cerf

More information

Network Applications and the Web

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

CS193i Handout #18. HTTP Part 5

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

Introduction to Internet, Web, and TCP/IP Protocols SEEM

Introduction to Internet, Web, and TCP/IP Protocols SEEM Introduction to Internet, Web, and TCP/IP Protocols SEEM 3460 1 Local-Area Networks A Local-Area Network (LAN) covers a small distance and a small number of computers LAN A LAN often connects the machines

More information

How the Internet Works

How 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 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

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

CSE 333 Lecture HTTP

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

LAMP, WEB ARCHITECTURE, AND HTTP

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

CS 455/555 Spring 2011 Weigle

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

Protocols. Application Layer FTP, HTTP, SSH, IMAP. Transport Layer TCP, UDP. Internet Layer IP. Link Layer Ethernet, WiFi

Protocols. Application Layer FTP, HTTP, SSH, IMAP. Transport Layer TCP, UDP. Internet Layer IP. Link Layer Ethernet, WiFi HTTP Protocols Application Layer FTP, HTTP, SSH, IMAP Transport Layer TCP, UDP Internet Layer IP Link Layer Ethernet, WiFi TCP/IP Transmission Control Protocol. Connection-Oriented Reliable source address

More information

Zero Latency HTTP The comet Technique

Zero Latency HTTP The comet Technique Zero Latency HTTP The comet Technique Filip Hanik SpringSource Inc Keystone, Colorado, 2008 Slide 1 Who am I bla bla fhanik@apache.org Tomcat Committer / ASF member Co-designed the Comet implementation

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

CSE 333 Lecture HTTP

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

HTTP Protocol and Server-Side Basics

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

2- Application Level Protocols HTTP 1.0/1.1/2

2- 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 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

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

Network concepts introduction & wireshark. workshop

Network concepts introduction & wireshark. workshop Network concepts introduction & workshop @KirilsSolovjovs ISO/OSI+DoD model Topics for our workshop Network layer models Ethernet, WiFi Layer3: ARP, ICMP, IPv4, IPv6 Layer4: UDP, TCP Routing Application

More information

CIT 480: Securing Computer Systems

CIT 480: Securing Computer Systems CIT 480: Securing Computer Systems Scanning CIT 480: Securing Computer Systems Slide #1 Topics 1. Port Scanning 2. Stealth Scanning 3. Version Identification 4. OS Fingerprinting CIT 480: Securing Computer

More information

HTTP, circa HTTP protocol. GET /foo/bar.html HTTP/1.1. Sviluppo App Web 2015/ Intro 3/3/2016. Marco Tarini, Uninsubria 1

HTTP, circa HTTP protocol. GET /foo/bar.html HTTP/1.1. Sviluppo App Web 2015/ Intro 3/3/2016. Marco Tarini, Uninsubria 1 HTTP protocol HTTP, circa 1989 a resource «give me the HTML representation of thatresource» «ok, here» Client request GET /hello.txt Server response Hello, world! Client Server Http 1.1 Request line Client

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

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

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

Assignment, part 2. Statement and concepts INFO-0010

Assignment, part 2. Statement and concepts INFO-0010 Assignment, part 2 Statement and concepts INFO-0010 Outline Statement Implementation of concepts Objective Mastermind game using HTTP GET and HTTP POST methods The platform Architecture Root page ("/")

More information

C22: Browser & Web Server Communication

C22: Browser & Web Server Communication CISC 3120 C22: Browser & Web Server Communication Hui Chen Department of Computer & Information Science CUNY Brooklyn College 11/01/2017 CUNY Brooklyn College 1 Web Application Architecture Client apps

More information

The HTTP Protocol HTTP

The HTTP Protocol HTTP The HTTP Protocol HTTP Copyright (c) 2013 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later

More information

Announcements Fawzi Emad, Computer Science Department, UMCP

Announcements Fawzi Emad, Computer Science Department, UMCP Announcements You must come to lecture for which you are registered! If you are going to be routinely late (or leave early) please try to adjust your class schedule. Look over class webpage Lectures slides

More information

CS631 - Advanced Programming in the UNIX Environment

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

Internet Connectivity with

Internet Connectivity with Internet Connectivity with Introduction The purpose of this workshop is to help you g et acquainted with the basics of internet connectivity by leveraging ARM mbed tools. If you are not already familiar

More information

White Paper: Next-Gen Network Traffic Analysis (NTA): Log-based NTA vs. Packet-based NTA

White Paper: Next-Gen Network Traffic Analysis (NTA): Log-based NTA vs. Packet-based NTA White Paper: Next-Gen Network Traffic Analysis (NTA) Log-based NTA vs. Packet-based NTA ALEX VAYSTIKH, SecBI CTO & Co-Founder February 2018 Executive Summary Network Traffic Analysis (NTA) is a critical

More information

Computer Systems and Networks

Computer Systems and Networks University of the Pacific LECTURE 12: PYTHON BYTES, TCP/IP (LAB 08) Computer Systems and Networks Dr. Pallipuram (vpallipuramkrishnamani@pacific.edu) Today s Agenda Python exercises to simulate network

More information

CORS Attacks. Author: Milad Khoshdel Blog: P a g e. CORS Attacks

CORS Attacks. Author: Milad Khoshdel Blog: P a g e. CORS Attacks Author: Milad Khoshdel Blog: https://blog.regux.com Email: miladkhoshdel@gmail.com 1 P a g e Contents What is CORS?...3 How to Test?...4 CORS Checker Script...6 References...9 2 P a g e What is CORS? CORS

More information

Objectives: (1) To learn to capture and analyze packets using wireshark. (2) To learn how protocols and layering are represented in packets.

Objectives: (1) To learn to capture and analyze packets using wireshark. (2) To learn how protocols and layering are represented in packets. Team Project 1 Due: Beijing 00:01, Friday Nov 7 Language: English Turn-in (via email) a.pdf file. Objectives: (1) To learn to capture and analyze packets using wireshark. (2) To learn how protocols and

More information

Announcements Fawzi Emad, Computer Science Department, UMCP

Announcements Fawzi Emad, Computer Science Department, UMCP Announcements Look over class webpage Lectures slides are being posted TA Office hours will start next week Make sure you are downloading Komodo Edit and not Komodo IDE 1 Very Brief History of The Internet

More information

Sirindhorn International Institute of Technology Thammasat University

Sirindhorn International Institute of Technology Thammasat University 1 Name...ID....Section. Seat No.. Sirindhorn International Institute of Technology Thammasat University Midterm Examination: Semester 2/2007 Course Title : ITS 332 Information Technology II Lab (Networking)

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

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

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

A programmer can create Internet application software without understanding the underlying network technology or communication protocols.

A programmer can create Internet application software without understanding the underlying network technology or communication protocols. CS442 Comer Networking API Chapter 3 Chapter three of the textbook presents an API to perform network programming in the C language. While this chapter does not cover everything about network programming,

More information

World Wide Web. World Wide Web - how it works. WWW usage requires a combination of standards and protocols DHCP TCP/IP DNS HTTP HTML MIME

World Wide Web. World Wide Web - how it works. WWW usage requires a combination of standards and protocols DHCP TCP/IP DNS HTTP HTML MIME World Wide Web WWW usage requires a combination of standards and protocols DHCP TCP/IP DNS HTTP HTML MIME World Wide Web - how it works User on a machine somewhere Server machine Being more specific...

More information

ICS 351: Today's plan. IPv6 routing protocols (summary) HTML HTTP web scripting languages certificates (review) cookies

ICS 351: Today's plan. IPv6 routing protocols (summary) HTML HTTP web scripting languages certificates (review) cookies ICS 351: Today's plan IPv6 routing protocols (summary) HTML HTTP web scripting languages certificates (review) cookies IPv6 routing almost the same routing protocols as for IPv4: RIPng, OSPFv6, BGP with

More information

Jeff Offutt SWE 642 Software Engineering for the World Wide Web

Jeff Offutt  SWE 642 Software Engineering for the World Wide Web Networking Basics Behind the World Wide Web Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web Adapted from chapter 1 slides for : Web Technologies : A Computer

More information

Network concepts introduction & wireshark

Network concepts introduction & wireshark Network concepts introduction & wireshark W0RKSH0P @KirilsSolovjovs Why am I doing this? Many people attending hacker conferences are not in fact experts, but come here to learn and have fun Opportunity

More information

HTTP: Advanced Assessment Techniques

HTTP: Advanced Assessment Techniques HTTP: Advanced Assessment Techniques Saumil Shah Director of R&D, NT Objectives Inc. Director, Net-Square Author: ÒWeb Hacking - Attacks and DefenseÓ BlackHat Windows Security 2003, Seattle The Web HackerÕs

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

Hypertext Transport Protocol

Hypertext Transport Protocol Hypertext Transport Protocol CSE 333 Summer 2018 Instructor: Hal Perkins Teaching Assistants: Renshu Gu William Kim Soumya Vasisht Administriia Section tomorrow: pthread tutorial/demo Followup exercise

More information

Project 1: Web Client and Server

Project 1: Web Client and Server Project 1: Web Client and Server Overview In this part of the project, your group will build a simple web client and a succession of servers to which it can connect. In addition you, will learn how to

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

Lab 2. All datagrams related to favicon.ico had been ignored. Diagram 1. Diagram 2

Lab 2. All datagrams related to favicon.ico had been ignored. Diagram 1. Diagram 2 Lab 2 All datagrams related to favicon.ico had been ignored. Diagram 1 Diagram 2 1. Is your browser running HTTP version 1.0 or 1.1? What version of HTTP is the server running? According to the diagram

More information

DATA COMMUNICATOIN NETWORKING

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

Getting Some REST with webmachine. Kevin A. Smith

Getting Some REST with webmachine. Kevin A. Smith Getting Some REST with webmachine Kevin A. Smith What is webmachine? Framework Framework Toolkit A toolkit for building RESTful HTTP resources What is REST? Style not a standard Resources == URLs http://localhost:8000/hello_world

More information

KTH ROYAL INSTITUTE OF TECHNOLOGY. Remote Invocation. Vladimir Vlassov and Johan Montelius

KTH ROYAL INSTITUTE OF TECHNOLOGY. Remote Invocation. Vladimir Vlassov and Johan Montelius KTH ROYAL INSTITUTE OF TECHNOLOGY Remote Invocation Vladimir Vlassov and Johan Montelius Middleware Application layer Remote invocation / indirect communication Socket layer Network layer 2 Request / Reply

More information

Networking. INFO/CSE 100, Spring 2006 Fluency in Information Technology.

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

Experimental Evaluation of Transport Services CoAP, HTTP and SPDY for Internet of Things

Experimental Evaluation of Transport Services CoAP, HTTP and SPDY for Internet of Things Experimental Evaluation of Transport Services CoAP, HTTP and SPDY for Internet of Things Laila Daniel, Markku Kojo and Mikael Latvala Department of Computer Science University of Helsinki Mosa Consulting,

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

Computer Science 571 Exam #1 Prof. Papa Thursday, February 23, 2017, 6:00pm 7:20pm

Computer Science 571 Exam #1 Prof. Papa Thursday, February 23, 2017, 6:00pm 7:20pm Computer Science 571 Exam #1 Prof. Papa Thursday, February 23, 2017, 6:00pm 7:20pm Name: Student Id Number: 1. This is a closed book exam. 2. Please answer all questions. 3. Place all answers on the exam

More information

Web Architecture and Technologies

Web Architecture and Technologies Web Architecture and Technologies Ambient intelligence Fulvio Corno Politecnico di Torino, 2015/2016 Goal Understanding Web technologies Adopted for User Interfaces Adopted for Distributed Application

More information

Networking: Application Layer

Networking: Application Layer CS 4410 Operating Systems Networking: Application Layer Summer 2016 Cornell University 1 Today Two application-layer protocols: DNS HTTP Domain Name Service When a user wants to communicate with a remote

More information

Network Applications and the Web

Network 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 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

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

Web Client And Server

Web Client And Server Web Client And Server Project Part A Overview In this part of the project, you and your partner will build a simple web client and a succession of servers to which it can connect. The goal is to slowly

More information

Lab Exercise Protocol Layers

Lab Exercise Protocol Layers Lab Exercise Protocol Layers Objective To learn how protocols and layering are represented in packets. They are key concepts for structuring networks that are covered in 1.3 and 1.4 of your text. Review

More information

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

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

The Architecture of the World Wide Web

The Architecture of the World Wide Web The Architecture of the World Wide Web Laboratory of Computer Technologies L-A Laboratorio di Tecnologie Informatiche L-A Giulio Piancastelli & Andrea Omicini {giulio.piancastelli, andrea.omicini}@unibo.it

More information

Computer Systems and Networks

Computer Systems and Networks University of the Pacific LECTURE 13: TCP RECAP, ENDIANNESS, DNS, WIRESHARK Computer Systems and Networks Dr. Pallipuram (vpallipuramkrishnamani@pacific.edu) Gist of TCP/IP Socket Programming Client Server

More information

INGI1341: Project 2 Analysis of a website

INGI1341: Project 2 Analysis of a website INGI3141:PROJECT 2 1 INGI1341: Project 2 Analysis of a website Sergio Alejandro Chávez Cárdenas Abstract The details of a remote website sopitas.com are analysed and its responses over the Internet are

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

The SSL security extension from a programmer's point of view How to write servers and clients in Java. The HTTP Protocol

The SSL security extension from a programmer's point of view How to write servers and clients in Java. The HTTP Protocol Objectives How the HTTP protocol works The SSL security extension from a programmer's point of view How to write servers and clients in Java 2 HTTP HTTP: HyperText Transfer Protocol Client-Server model

More information

Introduction to Ethical Hacking

Introduction to Ethical Hacking Introduction to Ethical Hacking Summer University 2017 Seoul, Republic of Korea Alexandre Karlov Today Some tools for web attacks Wireshark How a writeup looks like 0x04 Tools for Web attacks Overview

More information

The Architecture of the World Wide Web

The Architecture of the World Wide Web The Architecture of the World Wide Web Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini after Giulio Piancastelli andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di

More information

HTTP Review. Carey Williamson Department of Computer Science University of Calgary

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

/tmp/dump/dump02_arp_dns-weather_syn_fin complete-session - Ethereal Page 1

/tmp/dump/dump02_arp_dns-weather_syn_fin complete-session - Ethereal Page 1 /tmp/dump/dump02_arp_dns-weather_syn_fin complete-session - Ethereal Page 1 9 0.001967 192.168.1.28 205.156.51.200 TCP 54940 > www [S YN] Seq=0 Ack=0 Win=5840 Len=0 MSS=1460 TSV=743824 TSER=0 WS=7 Frame

More information