Skills: noneConcepts: protocol, hypertext transfer protocol, standard
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.
HTTP, the hypertext transfer protocol
Where does this topic fit?
• Internet concepts– Applications– Technology– Implications
• Internet skills– Application development – Content creation– User skills
1. Establish a temporary connection between the client and server 2. Client sends the request to the server3. Server returns the requested page or an error message4. Client displays whatever the server returns5. Disconnect – drop the connection
Client Server
request
page
Summary: retrieving a Web page
The client-server conversation
• I would like to open a connection
• GET <file name>
• Display response• Close connection
• OK
• Send page or error message
• OK
Client Server
The HTTP GET command
GET /fac/lpress/shortbio.htm HTTP/1.0
Who invented HTTP?
Do you know his name?
Formal conversation protocols
Describe the protocol governing a conversation with Queen Elizabeth.
Protocols establish standards, facilitating competition
OperaChrome Safari FirefoxInternet Explorer
What are some other standards that facilitate competition?
Standards yield competition
Some other application protocols
Protocol Application
HTTP: Hypertext Transfer Retrieve and view Web pages
FTP: File Transfer Copy files from client to server or from server to client
SMTP: Simple Mail Transport Send email
POP: Post Office Read email
A complete page request
GET /fac/lpress/shortbio.htm HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword,
Accept-Language: ko,en-us;q=0.5
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Host: som.csudh.edu
Proxy-Connection: Keep-Alive
Summary
Self-study questions
1. What would happen if the client program had a bug and sent a request with the command name spelled GETX instead of GET?
2. As a Web user, do you have to be concerned with the details of HTTP?
3. As a programmer writing a Web client, do you have to be concerned with the details of HTTP?
4. As a programmer writing a Web server, do you have to be concerned with the details of HTTP?
5. As a user of a Web service, do you have to be concerned with the details of HTTP?