Home Page Icon
Home Page
Table of Contents for
Web Caching
Close
Web Caching
by Duane Wessels
Web Caching
Web Caching
Preface
Audience
What You Will and Won’t Find Here
Caching Resources
Web Sites
Mailing Lists
Conventions Used in This Book
How To Contact Us
Acknowledgments
1. Introduction
Web Architecture
Clients and Servers
Proxies
Web Objects
Resource Identifiers
Web Transport Protocols
HTTP
FTP
SSL/TLS
Gopher
Why Cache the Web?
Latency
Bandwidth
Server Load
Why Not Cache the Web?
Types of Web Caches
Browser Caches
Caching Proxies
Surrogates
Caching Proxy Features
Meshes, Clusters, and Hierarchies
Products
2. How Web Caching Works
HTTP Requests
Origin Server Requests
Proxy Requests
Non-HTTP Proxy Requests
Is It Cachable?
Status Codes
Request Methods
Expiration and Validation
Cache-control
Authentication
Cookies
Dynamic Content
Hits, Misses, and Freshness
Hit Ratios
Validation
Last-modified Timestamps
Entity Tags
Weak and Strong Validators
Forcing a Cache to Refresh
The no-cache Directive
The max-age Directive
The min-fresh Directive
Cache Replacement
Least Recently Used (LRU)
First In, First Out (FIFO)
Least Frequently Used (LFU)
Size
GreedyDual-Size (GDS)
Other Algorithms
3. Politics of Web Caching
Privacy
Access Logs
Making Requests Anonymous
Request Blocking
Copyright
Does Caching Infringe?
Cases and Precedents
The DMCA
HTTP’s Role
Offensive Content
Dynamic Web Pages
Java Applets
Content Integrity
Cache Busting and Server Busting
Advertising
Trust
Effects of Proxies
4. Configuring Cache Clients
Proxy Addresses
Manual Proxy Configuration
Configuring Microsoft Internet Explorer
Configuring Netscape Navigator
NCSA Mosaic, Lynx, and Wget
Proxy Auto-Configuration Script
Writing a Proxy Auto-Configuration Function
Sample PAC Scripts
Setting the Proxy Auto-Configuration Script
Web Proxy Auto-Discovery
Other Configuration Options
The Bottom Line
5. Interception Proxying and Caching
Overview
The IP Layer: Routing
Inline Caches
Layer Four Switches
WCCP
Cisco Policy Routing
The TCP Layer: Ports and Delivery
Linux
ipchains
iptables
FreeBSD
Other Operating Systems
The Application Layer: HTTP
Debugging Interception
Issues
It’s Difficult for Users to Bypass
Packet Transport Service
Routing Changes
It Affects More Than Browsers and Users
No-Intercept Lists
Are Port 80 Packets Always HTTP?
HTTP Interoperation Problems
IP Interoperation Problems
To Intercept or Not To Intercept
6. Configuring Servers to Work with Caches
Important HTTP Headers
Date
Last-modified
Expires
Cache-control
Content-length
Being Cache-Friendly
Why?
Latency
Hiding network failures
Server load reduction
Ten Ways to be Cache-Friendly
Apache
The Expires header
General header manipulation
Setting headers from CGI scripts
How to Choose Expiration Times
Being Cache-Unfriendly
Other Issues for Content Providers
What About Dynamic Responses?
What About Advertisements?
Getting Accurate Access Counts
7. Cache Hierarchies
How Hierarchies Work
Why Join a Hierarchy?
Performance
Nondefault Routing
Why Not Join a Hierarchy?
Trust
Low Hit Ratios
Effects on Routing
Freshness
Large Families
Abuses, Real and Imagined
Error Messages
False Hits
Forwarding Loops
Failures and Service Denial
Optimizing Hierarchies
8. Intercache Protocols
ICP
History
Features
Hit prediction
Probing the network
Object data with hits
Source RTT measurements
Issues
Delays
Bandwidth
False hits
UDP
No request method
Queries for uncachable responses
Interoperation
Unwanted queries
Multicast ICP
CARP
HTCP
Issues
Cache Digests
Bloom Filters
Comparing Digests and ICP
Which Protocol to Use
9. Cache Clusters
The Hot Spare
Throughput and Load Sharing
Bandwidth
10. Design Considerations for Caching Services
Appliance or Software Solution
Appliances
Software
Disk Space
Memory
Network Interfaces
Operating Systems
High Availability
Intercepting Traffic
Load Sharing
Location
Using a Hierarchy
11. Monitoring the Health of Your Caches
What to Monitor?
Monitoring Tools
UCD-SNMP
RRDTool
Other Tools
12. Benchmarking Proxy Caches
Metrics
Throughput
Response Time
Hit Ratio
Connection Capacity
Cost
Performance Bottlenecks
Disk Throughput
CPU Power
NIC Bandwidth
Memory
Network State
Benchmarking Tools
Web Polygraph
Blast
Wisconsin Proxy Benchmark
WebJamma
Other Benchmarks
Benchmarking Gotchas
TCP Delayed ACKs
Port Number Exhaustion
NIC Duplex Mode
Bad Ethernet Cables
Full Caches
Test Duration
Long-Lived Connections
Small Working Sets
Clock Sync
MSL (TIME_WAIT) Values
How to Benchmark a Proxy Cache
Configure Systems
Test the Network
No-Proxy Test
Fill the Cache
Run the Benchmark
Sample Benchmark Results
Throughput
Response Time
Hit Ratio
Other Results
A. Analysis of Production Cache Trace Data
Reply and Object Sizes
Content Types
HTTP Headers
Client Request Headers
Client Reply Headers
Protocols
Port Numbers
Popularity
Size and Popularity
Cachability
Service Times
Hit Ratios
Object Life Cycle
Request Methods
Reply Status Code
B. Internet Cache Protocol
ICPv2 Message Format
Opcode
Version
Message Length
Reqnum
Options
Option Data
Sender Host Address
Payload
Opcodes
Option Flags
Experimental Features
Pointers
Object Advertisement
Request Notification
Object Removal and Invalidation
MD5 Object Keys
Eliminating URLs from Replies
Wiretapping
Prefetching
C. Cache Array Routing Protocol
Membership Table
Routing Function
Examples
D. Hypertext Caching Protocol
Message Format and Magic Constants
HEADER
DATA
AUTH
HTCP Data Types
COUNTSTR
SPECIFIER
DETAIL
IDENTITY
HTCP Opcodes
NOP
TST
TST request
TST response
MON
MON request
MON response
SET
SET request
SET response
CLR
CLR request
CLR response
E. Cache Digests
The Cache Digest Implementation
Keys
Hash Functions
Sizing the Filter
Selecting Objects for the Digest
False Hits and Digest Freshness
Exchanging Digests
Message Format
An Example
F. HTTP Status Codes
1xx Intermediate Status
2xx Successful Response
3xx Redirects
4xx Request Errors
5xx Server Errors
G. U.S.C. 17 Sec. 512. Limitations on Liability Relating to Material Online
List of Acronyms
H. Bibliography
Books and Articles
Request For Comments
Index
Colophon
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Cover
Next
Next Chapter
Preface
Web Caching
Duane Wessels
Editor
Nathan Torkington
Copyright © 2001 O'Reilly Media, Inc.
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset