16-Jun-15 HTTP Hypertext Transfer Protocol. 2 HTTP messages HTTP is the language that web clients and web servers use to talk to each other HTTP is largely.

Slides:



Advertisements
Similar presentations
HTTP HyperText Transfer Protocol. HTTP Uses TCP as its underlying transport protocol Uses port 80 Stateless protocol (i.e. HTTP Server maintains no information.
Advertisements

HTTP – HyperText Transfer Protocol
HTTP Hypertext Transfer Protocol. HTTP messages HTTP is the language that web clients and web servers use to talk to each other –HTTP is largely “under.
How the web works: HTTP and CGI explained
TCP/IP Protocol Suite 1 Chapter 22 Upon completion you will be able to: World Wide Web: HTTP Know how HTTP accesses data on the WWW Objectives.
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July.
Hypertext Transfer Protocol Information Systems 337 Prof. Harry Plantinga.
HTTP Overview Vijayan Sugumaran School of Business Administration Oakland University.
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
Hypertext Transport Protocol CS Dick Steflik.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
PL-IV- Group A HTTP Request & Response Header
Rensselaer Polytechnic Institute CSC-432 – Operating Systems David Goldschmidt, Ph.D.
Web Core Programming Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Web Development MCP LebDev Vice President © 2006 Tarek.
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
COMP3016 Web Technologies Introduction and Discussion What is the Web?
Java Technology and Applications
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
HTTP Protocol Specification
FTP (File Transfer Protocol) & Telnet
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
HyperText Transfer Protocol (HTTP).  HTTP is the protocol that supports communication between web browsers and web servers.  A “Web Server” is a HTTP.
CSC 2720 Building Web Applications Getting and Setting HTTP Headers (With PHP Examples)
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
TCP/IP Protocol Suite 1 Chapter 22 Upon completion you will be able to: World Wide Web: HTTP Understand the components of a browser and a server Understand.
2: Application Layer1 CS 4244: Internet Software Development Dr. Eli Tilevich.
Application Layer 2 Figures from Kurose and Ross
Maryam Elahi University of Calgary – CPSC 441.  HTTP stands for Hypertext Transfer Protocol.  Used to deliver virtually all files and other data (collectively.
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking HTTP 0.
Tools for Web Applications. Overview of TCP/IP Link Layer Network Layer Transport Layer Application Layer.
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
HTTP Hypertext Transfer Protocol
Web Server Design Week 8 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 3/3/10.
HTTP1 Hypertext Transfer Protocol (HTTP) After this lecture, you should be able to:  Know how Web Browsers and Web Servers communicate via HTTP Protocol.
Web Server Design Week 4 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 2/03/10.
1-1 HTTP request message GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr request.
LinuxChix Apache. Serving Webpages The layer 7 protocol (HTTP) is what our browsers talk to get us the websites we can't seem to live without. HTTP is.
Appendix E: Overview of HTTP ©SoftMoore ConsultingSlide 1.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
HTTP How the Internet servers and clients communicate.
Web Technologies Lecture 1 The Internet and HTTP.
HTTP Here, we examine the hypertext transfer protocol (http) – originally introduced around 1990 but not standardized until 1997 (version 1.0) – protocol.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Overview of Servlets and JSP
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
COMP2322 Lab 2 HTTP Steven Lee Jan. 29, HTTP Hypertext Transfer Protocol Web’s application layer protocol Client/server model – Client (browser):
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking HTTP 0.
What’s Really Happening
Hypertext Transfer Protocol
HTTP – An overview.
The Hypertext Transfer Protocol
HTTP Protocol Specification
Hypertext Transfer Protocol
Web and the HTTP (HyperText Transfer Protocol)
HTTP Hypertext Transfer Protocol
Hypertext Transfer Protocol
Hypertext Transfer Protocol
Hypertext Transfer Protocol
Kevin Harville Source: Webmaster in a Nutshell, O'Rielly Books
HTTP Hypertext Transfer Protocol
Hypertext Transfer Protocol
Presentation transcript:

16-Jun-15 HTTP Hypertext Transfer Protocol

2 HTTP messages HTTP is the language that web clients and web servers use to talk to each other HTTP is largely “under the hood,” but a basic understanding can be helpful Each message, whether a request or a response, has three parts: 1.The request or the response line 2.A header section 3.The body of the message

3 What the client does, part I The client sends a message to the server at a particular port (80 is the default) The first part of the message is the request line, containing: A method (HTTP command) such as GET or POST A document address, and An HTTP version number Example: GET /index.html HTTP/1.0

4 Other methods Other methods beside GET and POST are: HEAD : Like GET, but ask that only a header be returned PUT : Request to store the entity-body at the URI DELETE : Request removal of data at the URI LINK : Request header information be associated with a document on the server UNLINK : Request to undo a LINK request OPTIONS : Request information about communications options on the server TRACE : Request that the entity-body be returned as received (used for debugging)

5 What the client does, part II The second part of a request is optional header information, such as: What the client software is What formats it can accept All information is in the form Name: Value Example: User-Agent: Mozilla/2.02Gold (WinNT; I) Accept: image/gif, image/jpeg, */* A blank line ends the header

6 Client request headers Accept: type / subtype, type / subtype,... Specifies media types that the client prefers to accept Accept-Language: en, fr, de Preferred language (For example: English, French, German) User-Agent: string The browser or other client program sending the request From: address of user of client program Cookie: name = value Information about a cookie for that URL Multiple cookies can be separated by commas

7 What the client does, part III The third part of a request (after the blank line) is the entity-body, which contains optional data The entity-body part is used mostly by POST requests The entity-body part is always empty for a GET request

8 What the server does, part I The server response is also in three parts The first part is the status line, which tells: The HTTP version A status code A short description of what the status code means Example: HTTP/ Not Found Status codes are in groups: Informational The request was successful The request was redirected The request failed A server error occurred

9 Common status codes 200 OK Everything worked, here’s the data 301 Moved Permanently URI was moved, but here’s the new address for your records 302 Moved temporarily URL temporarily out of service, keep the old one but use this one for now 400 Bad Request There is a syntax error in your request 403 Forbidden You can’t do this, and we won’t tell you why 404 Not Found No such document 408 Request Time-out, 504 Gateway Time-out Request took too long to fulfill for some reason

10 What the server does, part II The second part of the response is header information, ended by a blank line Example: Content-Length: 2532 Connection: Close Server: GWS/2.0 Date: Sun, 01 Dec :24:50 GMT Content-Type: text/html Cache-control: private Set-Cookie: PREF=ID=05302a93093ec661:TM= :LM= :S= yNWNjraftUz299RH; expires=Sun, 17-Jan :14:07 GMT; path=/; domain=.google.com All on one line

11 Viewing the response There is a header viewer at (with nasty jittery advertisements) Example 2.3 ( GetResponses ) in the Gittleman book does the same thing Here’s an example (from GetResponses ): % java GetResponses /index.html Status line: HTTP/ OK Response headers: Date: Wed, 10 Sep :26:53 GMT Server: Apache/ (Unix) PHP/4.2.2 mod_perl/1.27 mod_ssl/ OpenSSL/0.9.6e Last-Modified: Tue, 09 Sep :24:50 GMT ETag: "1c1ad f5e2902” Accept-Ranges: bytes Content-Length: 5716 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html

12 The GetResponses program, I Here’s just the skeleton of the program that provided the output on the last slide: import java.net.*; import java.io.*; public class GetResponses { public static void main(String [ ] args) { try {...interesting code goes here... } catch(Exception e) { e.printStackTrace(); } } }

13 The GetResponses program, II Here’s the interesting part of the code: URL url = new URL(args[0]); URLConnection c = url.openConnection(); System.out.println("Status line: "); System.out.println('\t' + c.getHeaderField(0)); System.out.println("Response headers:"); String value = ""; int n = 1; while (true){ value = c.getHeaderField(n); if (value == null) break; System.out.println('\t' + c.getHeaderFieldKey(n++) + ": " + value); }

14 Server response headers Server: NCSA/1.3 Name and version of the server Content-Type: type / subtype Should be of a type and subtype specified by the client’s Accept header Set-Cookie: name = value ; options Requests the client to store a cookie with the given name and value

15 What the server does, part III The third part of a server response is the entity body This is often an HTML page But it can also be a jpeg, a gif, plain text, etc.--anything the browser (or other client) is prepared to accept

16 The tag The tag may occur in the of an HTML document http-equiv and content typically have the same kinds of values as in the HTTP header This tag asks the client to pretend that the information actually occurred in the header The information is not really in the header This tag is available because you have little direct control over what is in the header (unless you write your own server) As usual, not all browsers handle this information the same way Example:

17 Summary HTTP is a fairly straightforward protocol with a lot of possible kinds of predefined header information More kinds can be added, so long as client and server agree A request from the client consists of three parts: 1.A header line 2.A block of header information, ending with a blank line 3.The (optional) entity body, containing data A response from the server consists of the same three parts HTTP headers are “under the hood” information, not normally displayed to the user As with most of the things covered in CIT597, We have covered only the fundamentals Much more detail can be found on the Web

18 The End