Appendix A. URIs, Client-Server Architecture, and HTTP
While hypertext brings into being a (virtual) landscape unlike
anything else in human experience, its reliance on the underlying Internet
often goes unnoticed. Web developers don’t need to know much about the deep
plumbing of the Internet—parts like TCP, IP, and DNS. Hypertext Transfer
Protocol (HTTP), though, is critical to website construction, as it provides
the foundation for all those http://
URIs
scattered in links and references.
The Underlying Client-Server Architecture
Client-server protocols (including HTTP) typically work through the steps shown in Figure A-1 over the course of a transaction.
Figure A-1. Client-server architecture as a flow of six steps
The client looks up the IP address of the server from a nameserver if necessary.
The client looks up and opens a transport layer connection to the server; in the case of HTTP, this is done via TCP/IP.
The client then sends data to the server over that connection that is adequate to the requirements of receiving a reply from the server. That broadcast is usually termed a request.
The server receives the request and processes it by running all related executable code, then packaging the resulting output.
The server sends that packaged data back along the connection opened by the client in step 1. This is usually referred to as the response.
The client receives the data and—if it’s ...
Get HTML & CSS: The Good Parts now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.