Hypertext Transfer Protocol (HTTP)

Web Architecture [./]
Fall 2010 — INFO 290 (CCN 42605)

Erik Wilde, UC Berkeley School of Information
2010-10-14

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents E. Wilde: Hypertext Transfer Protocol (HTTP)

Contents

E. Wilde: Hypertext Transfer Protocol (HTTP)

(2) Abstract

The Hypertext Transfer Protocol (HTTP) is the protocol which is used for interactions with resources on the Web (other resources can be identified by non-HTTP URIs, but they are not really on the Web). HTTP is a TCP-based text-based stateless client/server protocol with a rather simple method for how to exchange request/reponse messages between clients and servers. HTTP has support for caching and some Web-oriented functionalities such as content negotiation and authentication.



E. Wilde: Hypertext Transfer Protocol (HTTP)

(3) DNS & HTTP

The two basic protocols which every Web browser must implement are DNS [Internet Architecture; Domain Name System (DNS) (1)] access and HTTP []. However, most operating systems provide an API for DNS access, so the browser can use this service locally and only has to implement HTTP. TCP [Internet Architecture; Transmission Control Protocol (TCP) (1)] (which is required as the foundation for HTTP) is usually provided by the operating system.

browser-dns-http.png

E. Wilde: Hypertext Transfer Protocol (HTTP)

(4) The Web's Protocol

internet-traffic-trends.png

provided by CacheLogic Inc. [http://www.cachelogic.com/]



HTTP Basics

Outline (HTTP Basics)

  1. HTTP Basics [8]
  2. HTTP Authentication [5]
HTTP Basics E. Wilde: Hypertext Transfer Protocol (HTTP)

(6) HTTP Messages

start-line
message-header *

message-body ?


HTTP Basics E. Wilde: Hypertext Transfer Protocol (HTTP)

(7) HTTP Header Fields



HTTP Basics E. Wilde: Hypertext Transfer Protocol (HTTP)

(8) HTTP Content Negotiation



HTTP Basics E. Wilde: Hypertext Transfer Protocol (HTTP)

(9) HTTP Requests

Method Request-URI HTTP/Major.Minor
[Header]*

[Entity]?


HTTP Basics E. Wilde: Hypertext Transfer Protocol (HTTP)

(10) HTTP GET

GET / HTTP/1.1
Host: ischool.berkeley.edu


HTTP Basics E. Wilde: Hypertext Transfer Protocol (HTTP)

(11) HTTP Responses

HTTP/Major.Minor Status-Code Text
[Header]*

[Entity]?


HTTP Basics E. Wilde: Hypertext Transfer Protocol (HTTP)

(12) HTTP Performance



HTTP Basics E. Wilde: Hypertext Transfer Protocol (HTTP)

(13) HTTP Connection Handling

http-phttp-pipelining.png

HTTP Authentication

Outline (HTTP Authentication)

  1. HTTP Basics [8]
  2. HTTP Authentication [5]
HTTP Authentication E. Wilde: Hypertext Transfer Protocol (HTTP)

(15) HTTP Access Control



HTTP Authentication E. Wilde: Hypertext Transfer Protocol (HTTP)

(16) HTTP Authentication

HTTP Authentication

HTTP Authentication E. Wilde: Hypertext Transfer Protocol (HTTP)

(17) Basic HTTP Authentication



HTTP Authentication E. Wilde: Hypertext Transfer Protocol (HTTP)

(18) Repeated Access



HTTP Authentication E. Wilde: Hypertext Transfer Protocol (HTTP)

(19) Login Page



E. Wilde: Hypertext Transfer Protocol (HTTP)

(20) Conclusions



2010-10-14 Web Architecture [./]
Fall 2010 — INFO 290 (CCN 42605)