[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 Web's architecture has very simple principles revolving around the ideas of placing a heavy emphasis on a consistent and global identification mechanism for resources, a standardized way of how resource representations can be retrieved, and a standardized way of how resource representations should be usable by using standardized media types. Based on the Internet, the Web's transport protocol transmits representations of resources identified by a Uniform Resource Identifier (URI) between Web servers and clients. The most important protocols for data transfer on the Web is the Hypertext Transfer Protocol (HTTP).
deliver files
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
http://dret.net/lectures/web-fall09/foundations#uri-schemes
inputto the resource
The two basic protocols which every Web browser must implement are DNS [Internet Architecture; Domain Name System (DNS) (1)] access and HTTP [Hypertext Transfer Protocol (HTTP) (1)]. 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