| |
| |
Preface | |
| |
| |
| |
HTTP: The Web's Foundation | |
| |
| |
| |
Overview of HTTP | |
| |
| |
HTTP: The Internet's Multimedia Courier | |
| |
| |
Web Clients and Servers | |
| |
| |
Resources | |
| |
| |
Transactions | |
| |
| |
Messages | |
| |
| |
Connections | |
| |
| |
Protocol Versions | |
| |
| |
Architectural Components of the Web | |
| |
| |
The End of the Beginning | |
| |
| |
For More Information | |
| |
| |
| |
URLs and Resources | |
| |
| |
Navigating the Internet's Resources | |
| |
| |
URL Syntax | |
| |
| |
URL Shortcuts | |
| |
| |
Shady Characters | |
| |
| |
A Sea of Schemes | |
| |
| |
The Future | |
| |
| |
For More Information | |
| |
| |
| |
HTTP Messages | |
| |
| |
The Flow of Messages | |
| |
| |
The Parts of a Message | |
| |
| |
Methods | |
| |
| |
Status Codes | |
| |
| |
Headers | |
| |
| |
For More Information | |
| |
| |
| |
Connection Management | |
| |
| |
TCP Connections | |
| |
| |
TCP Performance Considerations | |
| |
| |
HTTP Connection Handling | |
| |
| |
Parallel Connections | |
| |
| |
Persistent Connections | |
| |
| |
Pipelined Connections | |
| |
| |
The Mysteries of Connection Close | |
| |
| |
For More Information | |
| |
| |
| |
HTTP Architecture | |
| |
| |
| |
Web Servers | |
| |
| |
Web Servers Come in All Shapes and Sizes | |
| |
| |
A Minimal Perl Web Server | |
| |
| |
What Real Web Servers Do | |
| |
| |
| |
Accepting Client Connections | |
| |
| |
| |
Receiving Request Messages | |
| |
| |
| |
Processing Requests | |
| |
| |
| |
Mapping and Accessing Resources | |
| |
| |
| |
Building Responses | |
| |
| |
| |
Sending Responses | |
| |
| |
| |
Logging | |
| |
| |
For More Information | |
| |
| |
| |
Proxies | |
| |
| |
Web Intermediaries | |
| |
| |
Why Use Proxies? | |
| |
| |
Where Do Proxies Go? | |
| |
| |
Client Proxy Settings | |
| |
| |
Tricky Things About Proxy Requests | |
| |
| |
Tracing Messages | |
| |
| |
Proxy Authentication | |
| |
| |
Proxy Interoperation | |
| |
| |
For More Information | |
| |
| |
| |
Caching | |
| |
| |
Redundant Data Transfers | |
| |
| |
Bandwidth Bottlenecks | |
| |
| |
Flash Crowds | |
| |
| |
Distance Delays | |
| |
| |
Hits and Misses | |
| |
| |
Cache Topologies | |
| |
| |
Cache Processing Steps | |
| |
| |
Keeping Copies Fresh | |
| |
| |
Controlling Cachability | |
| |
| |
Setting Cache Controls | |
| |
| |
Detailed Algorithms | |
| |
| |
Caches and Advertising | |
| |
| |
For More Information | |
| |
| |
| |
Integration Points: Gateways, Tunnels, and Relays | |
| |
| |
Gateways | |
| |
| |
Protocol Gateways | |
| |
| |
Resource Gateways | |
| |
| |
Application Interfaces and Web Services | |
| |
| |
Tunnels | |
| |
| |
Relays | |
| |
| |
For More Information | |
| |
| |
| |
Web Robots | |
| |
| |
Crawlers and Crawling | |
| |
| |
Robotic HTTP | |
| |
| |
Misbehaving Robots | |
| |
| |
Excluding Robots | |
| |
| |
Robot Etiquette | |
| |
| |
Search Engines | |
| |
| |
For More Information | |
| |
| |
| |
HTTP-NG | |
| |
| |
HTTP's Growing Pains | |
| |
| |
HTTP-NG Activity | |
| |
| |
Modularize and Enhance | |
| |
| |
Distributed Objects | |
| |
| |
| |
Messaging | |
| |
| |
| |
Remote Invocation | |
| |
| |
| |
Web Application | |
| |
| |
WebMUX | |
| |
| |
Binary Wire Protocol | |
| |
| |
Current Status | |
| |
| |
For More Information | |
| |
| |
| |
Identification, Authorization, and Security | |
| |
| |
| |
Client Identification and Cookies | |
| |
| |
The Personal Touch | |
| |
| |
HTTP Headers | |
| |
| |
Client IP Address | |
| |
| |
User Login | |
| |
| |
Fat URLs | |
| |
| |
Cookies | |
| |
| |
For More Information | |
| |
| |
| |
Basic Authentication | |
| |
| |
Authentication | |
| |
| |
Basic Authentication | |
| |
| |
The Security Flaws of Basic Authentication | |
| |
| |
For More Information | |
| |
| |
| |
Digest Authentication | |
| |
| |
The Improvements of Digest Authentication | |
| |
| |
Digest Calculations | |
| |
| |
Quality of Protection Enhancements | |
| |
| |
Practical Considerations | |
| |
| |
Security Considerations | |
| |
| |
For More Information | |
| |
| |
| |
Secure HTTP | |
| |
| |
Making HTTP Safe | |
| |
| |
Digital Cryptography | |
| |
| |
Symmetric-Key Cryptography | |
| |
| |
Public-Key Cryptography | |
| |
| |
Digital Signatures | |
| |
| |
Digital Certificates | |
| |
| |
HTTPS: The Details | |
| |
| |
A Real HTTPS Client | |
| |
| |
Tunneling Secure Traffic Through Proxies | |
| |
| |
For More Information | |
| |
| |
| |
Entities, Encodings, and Internationalization | |
| |
| |
| |
Entities and Encodings | |
| |
| |
Messages Are Crates, Entities Are Cargo | |
| |
| |
Content-Length: The Entity's Size | |
| |
| |
Entity Digests | |
| |
| |
Media Type and Charset | |
| |
| |
Content Encoding | |
| |
| |
Transfer Encoding and Chunked Encoding | |
| |
| |
Time-Varying Instances | |
| |
| |
Validators and Freshness | |
| |
| |
Range Requests | |
| |
| |
Delta Encoding | |
| |
| |
For More Information | |
| |
| |
| |
Internationalization | |
| |
| |
HTTP Support for International Content | |
| |
| |
Character Sets and HTTP | |
| |
| |
Multilingual Character Encoding Primer | |
| |
| |
Language Tags and HTTP | |
| |
| |
Internationalized URIs | |
| |
| |
Other Considerations | |
| |
| |
For More Information | |
| |
| |
| |
Content Negotiation and Transcoding | |
| |
| |
Content-Negotiation Techniques | |
| |
| |
Client-Driven Negotiation | |
| |
| |
Server-Driven Negotiation | |
| |
| |
Transparent Negotiation | |
| |
| |
Transcoding | |
| |
| |
Next Steps | |
| |
| |
For More Information | |
| |
| |
| |
Content Publishing and Distribution | |
| |
| |
| |
Web Hosting | |
| |
| |
Hosting Services | |
| |
| |
Virtual Hosting | |
| |
| |
Making Web Sites Reliable | |
| |
| |
Making Web Sites Fast | |
| |
| |
For More Information | |
| |
| |
| |
Publishing Systems | |
| |
| |
FrontPage Server Extensions for Publishing Support | |
| |
| |
WebDAV and Collaborative Authoring | |
| |
| |
For More Information | |
| |
| |
| |
Redirection and Load Balancing | |
| |
| |
Why Redirect? | |
| |
| |
Where to Redirect | |
| |
| |
Overview of Redirection Protocols | |
| |
| |
General Redirection Methods | |
| |
| |
Proxy Redirection Methods | |
| |
| |
Cache Redirection Methods | |
| |
| |
Internet Cache Protocol | |
| |
| |
Cache Array Routing Protocol | |
| |
| |
Hyper Text Caching Protocol | |
| |
| |
For More Information | |
| |
| |
| |
Logging and Usage Tracking | |
| |
| |
What to Log? | |
| |
| |
Log Formats | |
| |
| |
Hit Metering | |
| |
| |
A Word on Privacy | |
| |
| |
For More Information | |
| |
| |
| |
Appendixes | |
| |
| |
| |
URI Schemes | |
| |
| |
| |
HTTP Status Codes | |
| |
| |
| |
HTTP Header Reference | |
| |
| |
| |
MIME Types | |
| |
| |
| |
Base-64 Encoding | |
| |
| |
| |
Digest Authentication | |
| |
| |
| |
Language Tags | |
| |
| |
| |
MIME Charset Registry | |
| |
| |
Index | |