web client-server server client hypertext link tcp port 80
TRANSCRIPT
![Page 1: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/1.jpg)
Web Client-Server
Server Server Server
Client
Hypertext link Hypertext link
TCP port 80 TCP port 80 TCP port 80
![Page 2: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/2.jpg)
HTTP
• The Hypertext Transfer Protocol (HTTP) is an application level protocol designed for distributed, collaborative, hypermedia information systems.– HTTP has been in use by the World Wide Web global
information initiative since 1990.
• RFC1945 gives the specification for HTTP/1.0– According to this RFC "This specification describes the
features that seem to be consistently implemented in most HTTP/1.0 clients and servers.
![Page 3: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/3.jpg)
HTTP
• HTTP builds on the discipline of reference provided by the Uniform Resource Identifier (RFC1630), as a location URL (RFC1738) or name URN (RFC1737).
• Messages are passed in a format similar to that used by Internet mail and the Multipurpose Internet Mail Extensions (MIME).
• HTTP is also used as a generic protocol for communication between user agents and proxies/gateways to other Internet protocols
![Page 4: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/4.jpg)
Operation
• HTTP is based on a request/response paradigm– A client establishes a connection with a server and
sends a request to the server. – The request is in the form of a request method, URI,
and protocol version, followed by request modifiers, client information, and possibly body content.
– The server responds with a status line, including the message's protocol version and a success or error code, followed by message
• Most HTTP communication is initiated by a user and consists of a request for some server.
![Page 5: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/5.jpg)
The Web in Action
parasite> telnet www.cs.rit.edu 80Trying 129.21.30.29...Connected to spidey.Escape character is '^]'.GET /<html><head><title>RIT Department of Computer Science</title><meta name="description" content="RIT, Department of Computer Science. Information on programs of study, how to contact faculty and staff, different department documents and references"><meta name="keywords" content="RIT, Department of Computer Science"><meta name="robots" content="all"><style type="text/css">
![Page 6: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/6.jpg)
Identifying Resources
• The world wide web creates a world that consists of objects that can be accessed.– Most things in the web can change– The techniques used to create names and addresses
used to identify objects must remain fixed
• A work is being done within the Internet community to provide a Universal naming scheme for objects. Three different names come up in these discussions: – URI (RFC1630) , URL (RFC1738) , URN (RFC1737)
![Page 7: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/7.jpg)
HTTP Agents
• There are different agents involved in a transfer– A client is an application program that establishes
connections for the purpose of sending requests– A server is an application program that accepts
connections in order to service requests– A proxy is an program which acts as both a client and a
server and makes requests on behalf of other clients.– A gateway is a server which acts as an intermediary for
some other server. – A tunnel is an intermediary program which is acting as
a blind relay between two connections.
![Page 8: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/8.jpg)
Transport
• On the Internet, HTTP communication generally takes places over TCP/IP connections. – The default port is TCP 80, but other ports can be used.
• HTTP can be implemented on top of other transport protocols. – HTTP only assumes a reliable transport
• Current practice requires that the connection be established by the client prior to each request and closed by the server after sending the response.
![Page 9: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/9.jpg)
HTTP RequestRequest-lineHeaders (0 or more)<blank line>Body (only for a POST request)
Request request-URI HTTP-version
![Page 10: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/10.jpg)
Types of Requests
• Three requests are supported– GET
• Returns whatever information is defined by the URI
– HEAD• Only the server’s header information is returned
– POST• Used for posting mail, news, forms, …
![Page 11: Web Client-Server Server Client Hypertext link TCP port 80](https://reader036.vdocuments.mx/reader036/viewer/2022082417/56649efa5503460f94c0c978/html5/thumbnails/11.jpg)
HTTP Response
Status-lineHeaders( 0 or more)<blank line>body