Hypertext Transfer Protocol

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
CGI & HTML forms CGI Common Gateway Interface  A web server is only a pipe between user-agents  and content – it does not generate content.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
HTTP – HyperText Transfer Protocol
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
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.
Cornell CS502 Web Basics and Protocols CS 502 – Carl Lagoze Acks to McCracken Syracuse Univ.
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
Definitions, Definitions, Definitions Lead to Understanding.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
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.
INTRODUCTION TO WEB DATABASE PROGRAMMING
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
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.
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.
Sistem Jaringan dan Komunikasi Data #9. DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address.
Postacademic Interuniversity Course in Information Technology – Module C1p1 Contents Data Communications Applications –File & print serving –Mail –Domain.
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
Web Client-Server Server Client Hypertext link TCP port 80.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
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 Here, we examine the hypertext transfer protocol (http) – originally introduced around 1990 but not standardized until 1997 (version 1.0) – protocol.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
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.
CS 6401 The World Wide Web Outline Background Structure Protocols.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Overview of Servlets and JSP
Computer Networks with Internet Technology William Stallings Chapter 04 Modern Applications 4.1 Web Access - HTTP.
COMP2322 Lab 2 HTTP Steven Lee Jan. 29, HTTP Hypertext Transfer Protocol Web’s application layer protocol Client/server model – Client (browser):
HyperText Transfer Protocol (HTTP) Deepti Kulkarni CISC 856: TCP/IP and Upper Layer Protocols Fall 2008 Acknowledgements Professor Amer Richi Gupta.
1 Unraveling the Web: How Does it All Work?. 2 Web Enabling Technologies F TCP/IP network (Internet & others) F URLs F HTTP protocol and HTTP Servers.
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.
MIIS1 MIIS - 17 Introduction to the WWW & http * * http information from World Wide Web Programming with HTML & CGI by Ed Tittel, Mark Gaither, S. Hassinger,
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Chapter 22 World Wide Web (HTTP) Chapter 22 World Wide Web (HTTP) Mi-Jung Choi Dept. of Computer Science and Engineering
Web Protocols: HTTP COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Free Powerpoint Templates Page 1 Free Powerpoint Templates CHAPTER 1 LAB 1.1 Web Server.
HTTP Protocol Amanda Burrows. HTTP Protocol The HTTP protocol is used to send HTML documents through the Internet. The HTTP protocol sends the HTML documents.
National College of Science & Information Technology.
Hypertext Transfer Protocol
Tiny http client and server
How HTTP Works Made by Manish Kushwaha.
WWW and HTTP King Fahd University of Petroleum & Minerals
Hypertext Transfer Protocol
HTTP – An overview.
Hypertext Transfer Protocol
COMP2322 Lab 2 HTTP Steven Lee Feb. 8, 2017.
Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Hypertext Transfer Protocol
Hypertext Transport Protocol
Internet transport protocols services
Tutorial (4): HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Hypertext Transfer Protocol
HyperText Transfer Protocol
EE 122: HyperText Transfer Protocol (HTTP)
Hypertext Transfer Protocol (HTTP)
William Stallings Data and Computer Communications
HTTP Hypertext Transfer Protocol
Presentation transcript:

Hypertext Transfer Protocol HTTP Hypertext Transfer Protocol

What It Is Protocol for transfer of various data formats between server and client Plaintext Hypertext Images Video Sound Meta-information also transferred HTTP

Uniform Resources URL URN Uniform Resource Locator Refers to an existing protocol http:, wais:, ftp:, mailto:, gopher:, news: Points to a document on a specific server URN Uniform Resource Name Globally unique, persistent identifier Independent of location HTTP

Uniform Resources URI Uniform Resource Identifier Collection of URL’s and URN’s HTTP

URL <scheme> : //<host> :<port> /<path> ;<parameters> ?<query> #<fragment> scheme The protocol you are using host Host name or ip number port TCP port number that protocol server is using path Path and filename reference of object on server HTTP

URL <scheme> : //<host> :<port> /<path> ;<parameters> ?<query> #<fragment> parameters Any specific parameters that object needs query Query string for a CGI program fragment Reference to a subset of an object HTTP

URL and HTTP All parts of URL, except parameters, used with http Scheme and host can be omitted when referenced object is on same machine as referring document Port can be omitted so long as referenced host is running on port listed in your /etc/services file Usually port 80 HTTP

URL and HTTP Full path used when referring to another server Relative path on same server Reference with relative path is a partial URL Query passes parameters to CGI Fragment jumps to labels within a page http://www.x.y/z#foo HTTP

Web Documents html ASCII text Preformatted Images Video VRML Java postscript Images GIF JPEG Video MPEG VRML Java HTTP

Communication Server tells client what type of information is coming before information arrives File extensions .html .htm .txt .ps .au .gif .tiff .jpeg .mpeg .vrml .wrl .java HTTP

Communication Text and inline images Separate objects Client browser may optionally send a list of formats it can accept Document can be a program Web server executes program and sends results to client Generic term for this program is script, gateway, or gateway script HTTP

Scripts Translates input from client Calls other programs Translates output from programs and returns it to client HTTP

Gateways Translates from one protocol or service to another HTTP / database query Database query results / HTTP HTTP

HTTP 1.0 Berners Lee, Fielding, Nielsen - 1995 Used in hypermedia systems distributed across networks Defines request-response conversation Requesting program (client) establishes connection with receiving program (server) Client sends request to server HTTP specifies syntax HTTP

HTTP 1.0 Defines request-response conversation Server replies with response http specifies syntax Does not handle network connectivity or how information is transmitted TCP/IP does this HTTP

HTTP 1.0 HTTP request Method URI Protocol version Optional other information Method [Request URI] HTTP/1.0 <CRLF> HTTP

HTTP 1.0 Method Get Head Post Returns object Returns information about object Post Sends information to be stored on server or as input to script HTTP

HTTP 1.0 Method Put Delete Sends new copy of existing object to server Usually not allowed Delete Deletes object HTTP

HTTP 1.0 Other information User Agent If-Modified-Since Kind of browser If-Modified-Since Returns object only if more recent than given date Otherwise returns status code 304 HTTP

HTTP 1.0 Other information Accept Mime types which browser can accept Multipurpose Internet Mail Extension text/plain text/html application/postscript image/gif image/jpeg audio/basic video/mpeg x-world/x-vrml HTTP

HTTP 1.0 Other information Authorization Accept: */* User password GET /X/Y/Z.HTML HTTP 1.0 User Agent: Prodigy-WB/1.3e Accept: text/plain Accept: text/html Accept: application/postscript Accept: image/gif Accept: */* HTTP

HTTP 1.0 HTTP response Status line HTTP-version Status-code Reason Status-codes 1xx - Informational Reserved for future use HTTP

HTTP 1.0 HTTP response Status line Status-codes 2xx - Success The action was successfully received, understood, and accepted 200 OK 201 POST command successful 202 Request accepted 203 GET or HEAD request fulfilled 204 No content HTTP

HTTP 1.0 HTTP response Status line Status-codes 3xx - Redirection Further action must be taken in order to complete request 300 Resource found at multiple locations 301 Resource moved permanently 302 Resource moved temporarily 304 Resource has not modified (since date) HTTP

HTTP 1.0 HTTP response Status line Status-codes 4xx - Client error The request contains bad syntax or cannot be fulfilled 400 Bad request from client 401 Unauthorized request 402 Payment required for request 403 Resource access forbidden 404 Resource not found 405 Method not allowed for resource 406 Resource type not acceptable HTTP

HTTP 1.0 HTTP response Status line Status-codes 5xx - Server error The server failed to fulfill an apparently valid request 500 Internal server error 501 Method not implemented 502 Bad gateway or server overload 503 Service unavailable / gateway timeout 504 Secondary gateway / server timeout HTTP

HTTP 1.0 HTTP response Description of information Server Type of server Date Date and time Content-Length Number of bytes Content-Type Mime type Content-Language English, for example Content-Encoding Data compression Last-Modified Date when last modified Expires Date when file becomes invalid HTTP

HTTP 1.0 Problems HTTP is stateless Each request requires separate TCP connection Server doesn’t remember previous requests HTTP

Evolution of HTTP HTTP/0.9 - 1990 Gopher influence Request method + URI + crlf GET /pets/index.html Just file contents sent back No header information Gopher influence Media types Single character indicated one of ten types HTTP

Evolution of HTTP HTTP/1.0 - 1995 Meta-information between client and server Media types MIME type/subtype Status codes This information influenced the development of web search engines Caching Authorization HTTP

Evolution of HTTP HTTP/1.0 - 1995 Problems Scalability Bandwidth High number of clients visit server for short time Flash crowd Bandwidth HTTP

Evolution of HTTP HTTP/1.1 Byte ranges Request of a document subset Adobe's Portable Document Format Streaming multimedia Eliminates unnecessary client/server communication An interrupted transfer which is restarted can be more efficient HTTP

Evolution of HTTP HTTP/1.1 Content negotiation with quality factors Real numbers between 0 and 1 Default is 1 Accept-Language: fr, en-gb; q=0.8, en; q=0.7 HTTP

Evolution of HTTP HTTP/1.1 Chunked encoding Transmission of streaming multimedia One frame varies in size and composition from the next Streaming video Entire image transmitted in first chunk and differences to the previous image are transmitted in the next chunk HTTP

Evolution of HTTP HTTP/1.1 Protocol switching Message integrity checks Client can specify another protocol more suited to data being transferred Message integrity checks Digest authentication In HTTP/1.0, user sent username and password over the network In HTTP/1.1, the client and the server never send the actual username or password over the network HTTP

Evolution of HTTP HTTP/1.1 Persistent connections In HTTP/1.0, if a single page includes inline images, multiple frames, animation, and other external references, to browse this page would require many reconnections In HTTP/1.1 there are multiple request/response transactions per connection Clients can pipeline requests to the server by sending multiple requests at start of session HTTP

Evolution of HTTP HTTP/1.1 Cache management with entity tags When body of URI changes, so does its entity tag Useful for maintaining caches, as updated URI information would have a different entity tag Can tell if same resource is being cached from multiple URI's as it would have same entity tag Strong entity tag Changes when any portion of resource changes One or more bytes change Weak entity tag Changes only when semantics of entity-body changes HTTP

Evolution of HTTP HTTP/1.1 Software multihoming Number of available IP addresses is a concern In HTTP/1.0, server could have multiple DNS entries and IP addresses, each corresponding to different document tree In HTTP/1.1, server could have multiple DNS entries and only a single IP address HTTP

The Future HTTP-Next Generation Many channels Traditional way One TCP connection carries multiple channels for parallel communication Different protocols on each channel Traditional way Multiple TCP connections between same client and server Pages contain images, video, audio, and html HTTP

The Future Extensibility Adding new MIME headers has been the traditional way of extending http Drawbacks No indication whether receiving end understands these extensions No indication whether extension is intended for all parties along message path or only for certain intermediaries No indication of order in which extensions should be interpreted HTTP

The Future Extensibility PEP Protocol Extension Protocol HTTP

The Future Performance Distributed authoring Parsing MIME headers wastes resources Sticky headers Persistent state between multiple http requests Not all headers have to be included in every http message Distributed authoring Event notification HTTP

The Future Caching and replication Popular sites are really popular Flash crowds happen Hot spots on the net are dynamic Amount of dynamic data is increasing HTTP

The Future QoS Quality of service Not everything must be treated with same QoS Required QoS should be made at the user-interface HTTP

The Future Real-time protocols and the web Streaming protocols Audio/video-on-demand HTTP