search for books and compare prices
Tables of Contents for Web Protocols and Practice
Chapter/Section Title
Page #
Page Count
Preface
xxiii
 
Acknowledgments
xxvii
 
I Getting Started
1
20
Introduction
3
18
Origin and Growth of the World Wide Web
3
5
Historical evolution of the Web
4
2
State of the Web
6
2
Semantic Components of the Web
8
2
Uniform Resource Identifier (URI)
8
1
Hypertext Markup Language (HTML)
9
1
Hypertext Transfer Protocol (HTTP)
9
1
Terms and Concepts
10
7
Content on the Web
11
1
Software components
12
1
Underlying network
12
2
Standardization
14
1
Web traffic and performance
15
1
Web applications
16
1
Topics Not Covered
17
1
Tour Through the Book
18
3
II Web Software Components
21
96
Web Clients
23
36
Client as a Program
24
1
Evolution of the Browser
25
2
Web-related Browser Functions
27
6
Canonical Web transfer example
28
1
Issuing a request from a browser
29
2
Browser caching
31
1
Request message headers
32
1
Response handling
33
1
Browser Configuration
33
7
Physical appearance
34
2
Semantic choices
36
1
Configuring browser for non-protocol functions
37
3
Browser Security Issues
40
2
Cookies
42
5
Motivations for cookies
42
1
Use of cookies in a browser
43
1
Users' control over cookies
44
1
Privacy problems with cookies
45
2
Spiders
47
8
Searching on the Web
47
1
Spider client
48
4
Use of spiders in search engines
52
3
Intelligent Agents and Special-purpose Browsers
55
3
Intelligent agents
55
1
Special-purpose browsers
56
2
Summary
58
1
Web Proxies
59
22
History and Evolution of Intermediaries
60
3
High-level Classification of Proxies
63
1
Caching proxy
63
1
Transparent proxy
63
1
Proxy Applications
64
5
Sharing access to the Web
64
1
Caching responses
65
1
Anonymizing clients
65
1
Transforming requests and responses
66
1
Gateway to non-HTTP systems
66
2
Filtering requests and responses
68
1
HTTP-related Proxy Roles
69
7
Steps in request-response exchange with a proxy
69
1
Handling HTTP requests and responses
70
3
Proxy as Web server
73
1
Proxy as Web client
74
1
Example use of a proxy
75
1
Proxy Chaining and Hierarchies
76
1
Proxy Configuration
77
1
Proxy Privacy Issues
78
1
Other Kinds of Proxies
79
1
Reverse proxies or surrogates
79
1
Interception proxies
80
1
Summary
80
1
Web Servers
81
36
Web Site versus Web Server
82
2
Web site
82
2
Web server
84
1
Handling a Client Request
84
12
Steps in handling a client request
84
2
Access control
86
2
Dynamically generated responses
88
6
Creating and using cookies
94
2
Sharing Information Across Requests
96
3
Sharing HTTP responses across requests
97
1
Sharing metadata across requests
98
1
Server Architecture
99
5
Event-driven server architecture
99
2
Process-driven server architecture
101
1
Hybrid server architecture
102
2
Server Hosting
104
3
Multiple Web sites on a single machine
104
2
Multiple machines for a single Web site
106
1
Case Study of the Apache Web Server
107
9
Resource management
108
3
HTTP request processing
111
5
Summary
116
1
III Web Protocols
117
220
Protocols Underlying HTTP
119
54
Internet Protocol
121
14
Evolution of the Internet architecture
121
1
IP design goals
122
4
IP addresses
126
4
IP header details
130
5
Transmission Control Protocol
135
15
Socket abstraction
135
2
Ordered reliable byte stream
137
2
Opening and closing a TCP connection
139
2
Sliding-window flow control
141
2
Retransmission of lost packets
143
1
TCP congestion control
144
3
TCP header details
147
3
Domain Name System
150
10
DNS resolver
150
2
DNS architecture
152
2
DNS protocol
154
3
DNS queries and the Web
157
2
DNS-based Web server load balancing
159
1
Application-layer Protocols
160
10
Telnet protocol
161
1
File Transfer Protocol
162
2
Simple Mail Transfer Protocol
164
3
Network News Transfer Protocol
167
2
Properties of application-layer protocols
169
1
Summary
170
3
HTTP Protocol Design and Description
173
44
Overview of HTTP
174
10
Protocol properties
176
5
Protocol influences
181
3
HTTP Language Elements
184
23
HTTP terms
185
4
HTTP/1.0 request methods
189
5
HTTP/1.0 headers
194
9
HTTP/1.0 response classes
203
4
HTTP Extensibility
207
1
SSL and Security
208
5
SSL
208
2
HTTPS: Using SSL in Web exchanges
210
1
Security in HTTP/1.0
211
2
Protocol Compliance and Interoperability
213
2
Version number and interoperability
213
1
MUST , SHOULD , MAY requirement levels
214
1
Summary
215
2
HTTP/1.1
217
84
The Evolution of HTTP/1.1 Protocol
217
8
History of evolution
218
3
Problems with HTTP/1.0
221
1
New concepts in HTTP/1.1
221
4
Methods , Headers , Response Codes in 1.0 and 1.1
225
9
Old and new request methods
225
1
Old and new headers
226
4
Old and new response codes
230
4
Caching
234
14
Caching-related terms
235
1
Caching in HTTP/1.0
236
1
Caching in HTTP/1.1
237
11
Bandwidth Optimization
248
10
Range request
249
5
The Expect/Continue mechanism
254
3
Compression
257
1
Connection Management
258
10
The Connection: Keep-Alive mechanism of HTTP/1.0
260
1
Evolution of HTTP/1.1 persistent connection mechanism
260
4
The Connection header
264
1
Pipelining on persistent connections
265
2
Closing persistent connections
267
1
Message Transmission
268
3
Extensibility
271
7
Learning about the server
272
3
Learning about intermediate servers
275
2
Upgrading to other protocols
277
1
Internet Address Conservation
278
1
Content Negotiation
279
4
Security , Authentication and , Integrity
283
3
Security and authentication
284
1
Integrity
285
1
The Role of Proxies in HTTP/1.1
286
5
Types of proxies
286
1
Syntactic requirements on an HTTP/1.1 proxy
287
2
Semantic requirements on an HTTP/1.1 proxy
289
2
Other Miscellaneous Changes
291
9
Method-related miscellaneous changes
291
2
Header-related miscellaneous changes
293
2
Response-code-related miscellaneous changes
295
5
Summary
300
1
HTTP/TCP Interaction
301
36
TCP Timers
302
13
Retransmission timer
302
4
Slow-start restart
306
3
The TIME_WAIT state
309
6
HTTP/TCP Layering
315
11
Aborted HTTP transfers
316
3
Nagle's algorithm
319
4
Delayed acknowledgments
323
3
Multiplexing TCP Connections
326
3
Motivation for parallel connections
326
2
Problems with parallel connections
328
1
Server Overheads
329
6
Combining system calls
330
2
Managing multiple connections
332
3
Summary
335
2
IV Measuring/Characterizing Web Traffic
337
68
Web Traffic Measurement
339
30
Motivation for Web Measurement
340
3
Motivation for content creators
340
1
Motivation for Web-hosting companies
341
1
Motivation for network operators
341
1
Motivation for Web/networking researchers
342
1
Measurement Techniques
343
7
Server logging
343
2
Proxy logging
345
1
Client logging
346
1
Packet monitoring
347
1
Active measurement
348
2
Proxy/Server Logs
350
4
Common Log Format (CLF)
350
2
Extended Common Log Format (ECLF)
352
2
Preprocessing Measurement Data
354
3
Parsing measurement data
354
1
Filtering measurement data
355
1
Transforming measurement data
356
1
Drawing Inferences From Measurement Data
357
5
Limitations of HTTP header information
357
1
Ambiguous client/server identity
358
1
Inferring user actions
359
1
Detecting resource modifications
360
2
Measurement Case Studies
362
6
Saskatchewan server log study
362
1
British Columbia proxy log study
363
2
Boston University client log study
365
1
AT&T packet-trace study
366
2
Summary
368
1
Web Workload Characterization
369
36
Workload Characterization
370
3
Applications of workload models
370
2
Selecting workload parameters
372
1
Statistics and Probability Distributions
373
3
Mean , median and , variance
373
1
Probability distributions
374
2
HTTP Message Characteristics
376
3
HTTP request methods
376
1
HTTP response codes
377
2
Web Resource Characteristics
379
13
Content types
379
1
Resource sizes
380
4
Response sizes
384
1
Resource popularity
385
3
Resource changes
388
2
Temporal locality
390
1
Number of embedded resources
391
1
User Behavior Characteristics
392
2
Session and request arrivals
392
1
Clicks per session
393
1
Request interarrival time
393
1
Applying Workload Models
394
4
Combining workload parameters
395
1
Validating the workload model
396
1
Generating synthetic traffic
397
1
User Privacy
398
5
Access to user-level data
399
2
Information available to software components
401
1
Application of user-level data
402
1
Summary
403
2
V Web Applications
405
72
Web Caching
407
36
The Origins and Goals of Web Caching
408
1
Why Cache?
409
3
What is Cacheable?
412
4
Protocol-specific considerations
413
1
Content-specific considerations
414
2
Where is Caching Done?
416
1
How is Caching Done?
417
2
Deciding whether a message is cacheable
417
1
Cache replacement and storing the response in cache
417
1
Returning a cached response
418
1
Maintaining a cache
418
1
Cache Replacement
419
2
Cache Coherency
421
3
Rate of Change of Resources
424
1
Cache-related Protocols
425
3
Internet Cache Protocol (ICP)
425
1
Cache Array Resolution Protocol (CARP)
426
1
Cache Digest Protocol
427
1
Web Cache Coordination Protocol (WCCP)
427
1
Cache Software and Hardware
428
5
Cache software: The Squid cache
428
3
Cache hardware
431
2
Impediments to Caching
433
3
Cache busting
434
1
Privacy issues in caching
435
1
Caching versus Replication
436
2
Content Distribution
438
2
Content Adaptation
440
1
Summary
441
2
Delivering Multimedia Streams
443
34
Multimedia Streaming
444
5
Audio and video data
444
2
Multimedia streaming applications
446
2
Properties of multimedia applications
448
1
Delivering Multimedia Content
449
5
Performance requirements
449
2
Limitations of IP networks
451
1
Multimedia-on-demand over HTTP
452
2
Protocols for Multimedia Streaming
454
6
Data transport
455
2
Session establishment
457
1
Session description
458
1
Presentation description
459
1
Real Time Streaming Protocol
460
16
Similarities and differences
460
3
RTSP request methods
463
3
RTSP headers
466
8
RTSP status codes
474
2
Summary
476
1
VI Research Perspectives
477
106
Research Perspectives in Caching
479
30
Cache Revalidation and Invalidation
480
10
Costs associated with revalidation
481
1
Prevalidation
482
1
The piggybacking approach
483
5
Server-driven invalidation
488
2
End-to-end Information Exchange
490
12
Server volumes
490
2
Proxy filters
492
1
Volumes and filters: Practical details
493
3
Volume-construction algorithms
496
3
Evaluation of volume-construction algorithms
499
2
End-to-end information exchange summary
501
1
Prefetching
502
6
DNS prefetching
502
1
Connection prefetching
503
1
HTTP prefetching
504
2
Trade-offs in prefetching
506
2
Summary
508
1
Research Perspectives in Measurement
509
26
Packet Monitoring of HTTP Traffic
511
11
Tapping a link
511
2
Capturing packets
513
2
Demultiplexing packets
515
1
Reconstructing the ordered stream
516
2
Extracting HTTP messages
518
2
Generating HTTP traces
520
2
Analyzing Web Server Logs
522
5
Parsing and filtering
522
2
Transforming
524
3
Publicly Available Logs and Traces
527
1
Measuring Multimedia Streams
528
6
Static analysis of multimedia resources
528
2
Multimedia server logs
530
1
Packet monitoring of multimedia streams
531
1
Multi-layer packet monitoring
532
2
Summary
534
1
Research Perspectives in Protocol Issues
535
48
Multiplexing HTTP Transfers
537
6
WebMux: An experimental multiplexing protocol
538
1
TCP Control Block Interdependence
539
2
Integrated Congestion Management
541
2
Adding a Differencing Mechanism to HTTP/1.1
543
14
Motivations for a differencing mechanism for HTTP messages
545
1
Evaluation of delta algorithms
546
4
Deployment issues of delta mechanism in HTTP/1.1
550
7
Status of adding delta mechanism to HTTP/1.1
557
1
HTTP/1.1 Protocol Compliance
557
9
Motivation for protocol compliance study
558
1
Testing compliance of clients and proxies
558
1
Methodology of testing compliance
559
2
PRO-COW: A large-scale compliance study
561
4
Summary of protocol compliance
565
1
End-to-end Web Performance Measurements
566
12
Identifying the factors in end-to-end performance
567
3
Report on an end-to-end performance study
570
7
Summary of end-to-end performance study
577
1
Other Extensions to HTTP
578
4
Transparent Content Negotiation
578
2
WebDAV-Web Distributed Authoring and Versioning
580
1
An HTTP extension framework
581
1
Summary
582
1
Bibliography
583
26
Index
609