It has always been possible to connect computers together and share information between them, but the rise of the World Wide Web over the last couple of decades has made it much easier to do so. The result is a richly connected network of computation, in which Guile forms a part.
By “the web”, we mean the HTTP protocol26 as handled by servers, clients, proxies, caches, and the various kinds of messages and message components that can be sent and received by that protocol, notably HTML.
On one level, the web is text in motion: the protocols themselves are textual (though the payload may be binary), and it’s possible to create a socket and speak text to the web. But such an approach is obviously primitive. This section details the higher-level data types and operations provided by Guile: URIs, HTTP request and response records, and a conventional web server implementation.
The material in this section is arranged in ascending order, in which later concepts build on previous ones. If you prefer to start with the highest-level perspective, see Web Examples, and work your way back.
|• Types and the Web:||Types prevent bugs and security problems.|
|• URIs:||Universal Resource Identifiers.|
|• HTTP:||The Hyper-Text Transfer Protocol.|
|• HTTP Headers:||How Guile represents specific header values.|
|• Transfer Codings:||HTTP Transfer Codings.|
|• Requests:||HTTP requests.|
|• Responses:||HTTP responses.|
|• Web Client:||Accessing web resources over HTTP.|
|• Web Server:||Serving HTTP to the internet.|
|• Web Examples:||How to use this thing.|
Yes, the P is for protocol, but this phrase appears repeatedly in RFC 2616.