Preface | p. xiii |
HTTP: The Web's Foundation | |
Overview of HTTP | p. 3 |
HTTP: The Internet's Multimedia Courier | p. 3 |
Web Clients and Servers | p. 4 |
Resources | p. 4 |
Transactions | p. 8 |
Messages | p. 10 |
Connections | p. 11 |
Protocol Versions | p. 16 |
Architectural Components of the Web | p. 17 |
The End of the Beginning | p. 21 |
For More Information | p. 21 |
URLs and Resources | p. 23 |
Navigating the Internet's Resources | p. 24 |
URL Syntax | p. 26 |
URL Shortcuts | p. 30 |
Shady Characters | p. 35 |
A Sea of Schemes | p. 38 |
The Future | p. 40 |
For More Information | p. 41 |
HTTP Messages | p. 43 |
The Flow of Messages | p. 43 |
The Parts of a Message | p. 44 |
Methods | p. 53 |
Status Codes | p. 59 |
Headers | p. 67 |
For More Information | p. 73 |
Connection Management | p. 74 |
TCP Connections | p. 74 |
TCP Performance Considerations | p. 80 |
HTTP Connection Handling | p. 86 |
Parallel Connections | p. 88 |
Persistent Connections | p. 90 |
Pipelined Connections | p. 99 |
The Mysteries of Connection Close | p. 101 |
For More Information | p. 104 |
HTTP Architecture | |
Web Servers | p. 109 |
Web Servers Come in All Shapes and Sizes | p. 109 |
A Minimal Perl Web Server | p. 111 |
What Real Web Servers Do | p. 113 |
Accepting Client Connections | p. 115 |
Receiving Request Messages | p. 116 |
Processing Requests | p. 120 |
Mapping and Accessing Resources | p. 120 |
Building Responses | p. 125 |
Sending Responses | p. 127 |
Logging | p. 127 |
For More Information | p. 127 |
Proxies | p. 129 |
Web Intermediaries | p. 129 |
Why Use Proxies? | p. 131 |
Where Do Proxies Go? | p. 137 |
Client Proxy Settings | p. 141 |
Tricky Things About Proxy Requests | p. 144 |
Tracing Messages | p. 150 |
Proxy Authentication | p. 156 |
Proxy Interoperation | p. 157 |
For More Information | p. 160 |
Caching | p. 161 |
Redundant Data Transfers | p. 161 |
Bandwidth Bottlenecks | p. 161 |
Flash Crowds | p. 163 |
Distance Delays | p. 163 |
Hits and Misses | p. 164 |
Cache Topologies | p. 168 |
Cache Processing Steps | p. 171 |
Keeping Copies Fresh | p. 175 |
Controlling Cachability | p. 182 |
Setting Cache Controls | p. 186 |
Detailed Algorithms | p. 187 |
Caches and Advertising | p. 194 |
For More Information | p. 196 |
Integration Points: Gateways, Tunnels, and Relays | p. 197 |
Gateways | p. 197 |
Protocol Gateways | p. 200 |
Resource Gateways | p. 203 |
Application Interfaces and Web Services | p. 205 |
Tunnels | p. 206 |
Relays | p. 212 |
For More Information | p. 213 |
Web Robots | p. 215 |
Crawlers and Crawling | p. 215 |
Robotic HTTP | p. 225 |
Misbehaving Robots | p. 228 |
Excluding Robots | p. 229 |
Robot Etiquette | p. 239 |
Search Engines | p. 242 |
For More Information | p. 246 |
HTTP-NG | p. 247 |
HTTP's Growing Pains | p. 247 |
HTTP-NG Activity | p. 248 |
Modularize and Enhance | p. 248 |
Distributed Objects | p. 249 |
Messaging | p. 250 |
Remote Invocation | p. 250 |
Web Application | p. 251 |
WebMUX | p. 251 |
Binary Wire Protocol | p. 252 |
Current Status | p. 252 |
For More Information | p. 253 |
Identification, Authorization, and Security | |
Client Identification and Cookies | p. 257 |
The Personal Touch | p. 257 |
HTTP Headers | p. 258 |
Client IP Address | p. 259 |
User Login | p. 260 |
Fat URLs | p. 262 |
Cookies | p. 263 |
For More Information | p. 276 |
Basic Authentication | p. 277 |
Authentication | p. 277 |
Basic Authentication | p. 281 |
The Security Flaws of Basic Authentication | p. 283 |
For More Information | p. 285 |
Digest Authentication | p. 286 |
The Improvements of Digest Authentication | p. 286 |
Digest Calculations | p. 291 |
Quality of Protection Enhancements | p. 299 |
Practical Considerations | p. 300 |
Security Considerations | p. 303 |
For More Information | p. 306 |
Secure HTTP | p. 307 |
Making HTTP Safe | p. 307 |
Digital Cryptography | p. 309 |
Symmetric-Key Cryptography | p. 313 |
Public-Key Cryptography | p. 315 |
Digital Signatures | p. 317 |
Digital Certificates | p. 319 |
HTTPS: The Details | p. 322 |
A Real HTTPS Client | p. 328 |
Tunneling Secure Traffic Through Proxies | p. 335 |
For More Information | p. 336 |
Entities, Encodings, and Internationalization | |
Entities and Encodings | p. 341 |
Messages Are Crates, Entities Are Cargo | p. 342 |
Content-Length: The Entity's Size | p. 344 |
Entity Digests | p. 347 |
Media Type and Charset | p. 348 |
Content Encoding | p. 351 |
Transfer Encoding and Chunked Encoding | p. 354 |
Time-Varying Instances | p. 359 |
Validators and Freshness | p. 360 |
Range Requests | p. 363 |
Delta Encoding | p. 365 |
For More Information | p. 369 |
Internationalization | p. 370 |
HTTP Support for International Content | p. 370 |
Character Sets and HTTP | p. 371 |
Multilingual Character Encoding Primer | p. 376 |
Language Tags and HTTP | p. 384 |
Internationalized URIs | p. 389 |
Other Considerations | p. 392 |
For More Information | p. 392 |
Content Negotiation and Transcoding | p. 395 |
Content-Negotiation Techniques | p. 395 |
Client-Driven Negotiation | p. 396 |
Server-Driven Negotiation | p. 397 |
Transparent Negotiation | p. 400 |
Transcoding | p. 403 |
Next Steps | p. 405 |
For More Information | p. 406 |
Content Publishing and Distribution | |
Web Hosting | p. 411 |
Hosting Services | p. 411 |
Virtual Hosting | p. 413 |
Making Web Sites Reliable | p. 419 |
Making Web Sites Fast | p. 422 |
For More Information | p. 423 |
Publishing Systems | p. 424 |
FrontPage Server Extensions for Publishing Support | p. 424 |
WebDAV and Collaborative Authoring | p. 429 |
For More Information | p. 446 |
Redirection and Load Balancing | p. 448 |
Why Redirect? | p. 449 |
Where to Redirect | p. 449 |
Overview of Redirection Protocols | p. 450 |
General Redirection Methods | p. 452 |
Proxy Redirection Methods | p. 462 |
Cache Redirection Methods | p. 469 |
Internet Cache Protocol | p. 473 |
Cache Array Routing Protocol | p. 475 |
Hyper Text Caching Protocol | p. 478 |
For More Information | p. 481 |
Logging and Usage Tracking | p. 483 |
What to Log? | p. 483 |
Log Formats | p. 484 |
Hit Metering | p. 492 |
A Word on Privacy | p. 495 |
For More Information | p. 495 |
Appendixes | |
URI Schemes | p. 499 |
HTTP Status Codes | p. 505 |
HTTP Header Reference | p. 508 |
MIME Types | p. 533 |
Base-64 Encoding | p. 570 |
Digest Authentication | p. 574 |
Language Tags | p. 581 |
MIME Charset Registry | p. 602 |
Index | p. 617 |
Table of Contents provided by Syndetics. All Rights Reserved. |