[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/]
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.
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.
provided by CacheLogic Inc. [http://www.cachelogic.com/]
http://rosetta.ischool.berkeley.edu:8085/
)start-line message-header * message-body ?
Date
as the message origination dateAccept-Language
indicates language preferencesServer
contains system informationContent-Type
specifies the media type of the entityX-
prefixheader typethey convey different information
fits best
Accept
uses a list of Media Types [Media Types]Accept-Charset
uses a list of character setsAccept-Encoding
uses a list of content encodingsAccept-Language
uses a list of language codesUser-Agent
specifies the client's identificationGET
, HEAD
, POST
PUT
, DELETE
Host
header field must be included in every requestMethod Request-URI HTTP/Major.Minor [Header]* [Entity]?
If-*:
only reply with the entity if necessaryRange:
only reply with the requested part of the entityGET / HTTP/1.1 Host: ischool.berkeley.edu
2**
for variations of ok
3**
for redirections4**
are different client side problems (404
: not found)5**
are different server side problemsHTTP/Major.Minor Status-Code Text [Header]* [Entity]?
401 Unauthorized
means the resource is access controlled403 Forbidden
means the resource is inaccessible405 Method Not Allowed
signals a request using the wrong request method [HTTP Requests (1)]username:password
stringHTTP/1.0 401 Unauthorized WWW-Authenticate: Basic realm="SokEvo"[http://en.wikipedia.org/wiki/Basic_access_authentication]
GET /private/index.html HTTP/1.0 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==[http://en.wikipedia.org/wiki/Basic_access_authentication]
state
logging outof HTTP authenticated sessions is hard
log outwithout using browser-specific controls
secure personal browsersthis would not work very well