GV'S 24 CLUB & BAR CONTACT 09602870969 CALL GIRLS IN UDAIPUR ESCORT SERVICE
HTTP
1. HTTP
The Hypertext Transfer Protocol
(HTTP) is at the heart of the Web
HTTP is implemented in two
programs:
• a client program and
• server program.
2. HTTP…
• The client program and server programs,
executing on different end systems, talk to
each other by exchanging HTTP messages.
• HTTP defines the structure of these messages
and how the client and server exchange the
messages.
3. Web page
• A Web page (also called a document) consists
of objects.
• An object is a simply file -- such as a HTML file,
a JPEG image, a GIF image, a Java applet, an
audio clip, etc. -- that is addressable by a
single URL.
• Most Web pages consist of a base HTML file
and several referenced objects.
4. Web page..
• For example, if a Web page contains HTML
text and five JPEG images, then the Web page
has six objects: the base HTML file plus the
five images.
• The base HTML file references the other
objects in the page with the objects' URLs.
5. • Each URL has two components:
– the host name of the server that houses the object and
– the object's path name.
• For example, the URL
www.someSchool.edu/someDepartment/picture.gif
host name path name
URL
6. Browser
• A browser is a user agent for the Web;
• it displays to the user the requested Web page
and provides numerous navigational and
configuration features.
• Web browsers also implement the client side
of HTTP.
• Thus, in the context of the Web, we will
interchangeably use the words "browser" and
"client".
7. Web server
• Web server houses Web objects, each
addressable by a URL.
• Web servers also implement the server side
of HTTP.
• Popular Web servers include Apache,
Microsoft Internet Information Server, and the
Netscape Enterprise Server.
8. HTTP
• HTTP defines how Web clients (i.e., browsers)
request Web pages from servers (i.e., Web
servers) and how servers transfer Web pages
to clients.
• When a user requests a Web page (e.g., clicks
on a hyperlink), the browser sends HTTP
request messages for the objects in the page
to the server.
• The server receives the requests and responds
with HTTP response messages that contain the
objects.
9.
10. HTTP request response behavior
• The HTTP client first initiates a TCP connection with
the server.
• Once the connection is established, the browser and
the server processes access TCP through their socket
interfaces.
• On the client side the socket interface is the "door"
between the client process and the TCP connection;
• on the server side it is the "door" between the server
process and the TCP connection.
• The client sends HTTP request messages into its
socket interface and receives HTTP response
messages from its socket interface.
11. Stateless Protocol.
• It is important to note that the server sends
requested files to clients without storing any
state information about the client.
• Because an HTTP server maintains no
information about the clients, HTTP is said to
be a stateless protocol.
12. TCP Connections
• HTTP can use both
– non-persistent connections and
– persistent connections.
13. Non-Persistent Connections
• Suppose the page consists of a base HTML file
and 10 JPEG images, and that all 11 of these
objects reside on the same server.
• Suppose the URL for the base HTML file is
www.someSchool.edu/someDepartment/home.index
• Here is what happens:
14. Non-Persistent Connections...
1. The HTTP client initiates a TCP connection to
the server www.someSchool.edu.
Port number 80 is used as the default port
number at which the HTTP server will be
listening for HTTP clients that want to
retrieve documents using HTTP.
15. Non-Persistent Connections...
2. The HTTP client sends a HTTP request
message into the socket associated with the
TCP connection that was established in step
1.
The request message either includes the
entire URL or simply the path name
/someDepartment/home.index.
16. Non-Persistent Connections...
3. The HTTP server receives the request
message via the socket associated with the
connection that was established in step 1,
retrieves the object
/someDepartment/home.index
from its storage (RAM or disk), encapsulates
the object in a HTTP response message, and
sends the response message into the TCP
connection.
17. Non-Persistent Connections...
4. The HTTP server tells TCP to close the TCP
connection.
The HTTP client receives the response
message. The TCP connection terminates.
5. The message indicates that the encapsulated
object is an HTML file. The client extracts the
file from the response message, parses the
HTML file and finds references to the ten JPEG
objects.
19. Shortcomings of
Non persistent connection
1. A brand new connection must be established
and maintained for each requested object.
– TCP buffers must be allocated and TCP variables
must be kept in both the client and server.
2. Each object suffers two RTTs
3. Each object suffers from TCP slow start
because every TCP connection begins with a
TCP slow-start phase
20. Persistent Connections
• The server leaves the TCP connection open
after sending responses.
• Subsequent requests and responses between
the same client and server can be sent over
the same connection.
21. Persistent Connections...
• In particular, an entire Web page can be sent
over a single persistent TCP connection;
• Multiple Web pages residing on the same
server can be sent over one persistent TCP
connection.
• Typically, the HTTP server closes the
connection when it isn’t used for a certain
time.
22. Persistent Connections...
• There are two versions of persistent
connections:
– without pipelining
the client issues a new request only when the
previous response has been received.
– With pipelining
the HTTP client issues a request as soon as it
encounters a reference
23. HTTP Message Format
• There are two types of HTTP messages,
– request messages and
– response messages
24. HTTP Request Message
• Example
GET /somedir/page.html HTTP/1.1
Connection: close
User-agent: Mozilla/4.0
Accept: text/html, image/gif, image/jpeg
Accept-language:fr
25. HTTP Request Message...
• The message is written in ordinary ASCII text
• The message consists of five lines, each
followed by a carriage return and a line feed.
• The last line is followed by an additional
carriage return and line feed.
• The first line of a HTTP request message is
called the request line;
• The subsequent lines are called the header
lines.
26. HTTP Request Message...
• The request line has three fields: the method
field, the URL field, and the HTTP version field.
• The method field can take on several different
values, including GET, POST, and HEAD.
• The Connection: close header line, the
browser is telling the server that it doesn't
want to use persistent connections;
• It wants the server to close the connection
after sending the requested object.
27. HTTP Request Message...
• The User- agent: header line specifies the user
agent,
• i.e., the browser type that is making the
request to the server . Here the user agent is
Mozilla/4.0
• The Accept: header line tells the server the
type of objects the browser is prepared to
accept.
• In this case, the client is prepared to accept
HTML text, a GIF image or a JPEG image.
28. • The Accept-language: header indicates that
the user prefers to receive a French version of
the object
30. HTTP Response Message
HTTP/1.1 200 OK
Connection: close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 09:23:24 GMT
Content-Length: 6821
Content-Type: text/html
data data data data data ...
31. HTTP Response Message...
• It has three sections:
–an initial status line,
–six header lines,
–the entity body.
32. HTTP Response Message...
• The status line has three fields:
–the protocol version field,
–a status code,
–and a corresponding status message.
33. • 200 OK: Request succeeded and the information is
returned in the response.
• 301 Moved Permanently: Requested object has been
permanently moved; new URL is specified in Location:
header of the response message. The client software
will automatically retrieve the new URL.
• 400 Bad Request: A generic error code indicating that
the request could not be understood by the server.
• 404 Not Found: The requested document does not
exist on this server
• 505 HTTP Version Not Supported: The request HTTP
protocol version is not supported by the server.
34. HTTP Response Message...
• The server uses the Connection: close header
line to tell the client that it is going to close the
TCP connection after sending the message.
• The Date: header line indicates the time and date
when the HTTP response was created and sent by
the server.
• It is the time when the server retrieves the object
from its file system, inserts the object into the
response message and sends the response
message.
35. HTTP Response Message...
• The Server: header line indicates that the message was
generated by an Apache Web server; it is analogous to
the User-agent: header line in the HTTP request
message.
• The Last-Modified: header line indicates the time and
date when the object was created or last modified.
• The Last-Modified: header, which we cover in more
detail below, is critical for object caching, both in the
local client and in network cache (a.k.a. proxy) servers.
• The Content-Length: header line indicates the number
of bytes in the object being sent.
36. HTTP Response Message...
• The Content-Type: header line indicates that
the object in the entity body is HTML text.
(The object type is officially indicated by the
Content-Type: header and not by the file
extension.)
37. HTTP Response Message...
• The Content-Type: header line indicates that
the object in the entity body is HTML text.
(The object type is officially indicated by the
Content-Type: header and not by the file
extension.)