Index

Bold numerals indicate important entries.

Symbols

" 33, 309

A

A1 116, 309
A2 116, 309
abs_path 36, 309
absoluteURI 36, 309
Accept 61, 77, 195, 202, 309, 321
Accept() 73, 151, 155, 157, 158, 159, 184
accept() 132, 134, 146, 158
acceptable-ranges 112, 310, 326
Accept-Charset 62, 73, 195, 309, 324
Accept-Encoding 62, 73, 86, 310, 324
accept-extension 61, 310, 322
Accept-Language 50, 62, 86, 196, 310, 325
accept-params 61, 310, 322
Accept-Ranges 112, 310, 326
addsockettolist() 148
AF_INET 130
Age 93, 310, 326
age 28
age-value 93, 103, 104, 310, 327
algorithm 118, 310
Allow 56, 85, 310, 327
ALPHA 33, 310
Apache 4
APOP 118
ARPANET 129
asctime() 38, 40
asctime-date 38, 310
attribute 48, 310
authentication
AuthenticationInfo 310
Authentication-info 112
Authorization 63, 70, 80, 93, 119, 310, 328
authorization
auth-param 115, 310
auth-scheme 115, 310

B

Base64 63, 64-71
Basic Authentication 63, 115, 117
basic-cookie 310
basic-credentials 310
_beginthread() 184, 185
big endian notation 134
bind() 131, 133, 134, 156, 157
BNF grammar 47
Bolt Beranek and Newman, Inc. 129
browser 3
BSD UNIX 129
byte range 357
byte range
byte-content-range-spec 310, 342
byte-range-set 70, 310, 357
byte-range-spec 70, 310, 357
byte-ranges-specifier 70, 310, 357
bytes-unit 51, 310

C

cachable 28
cache 28
cache agent 10, 11, 91, 95
cache-control 2, 5, 91, 91-105, 310, 328, 336
Cache Revalidation 332
Cache-Control header 94
cache-directive 94, 310, 329
cache-extension 94, 310, 329
cache-request-directive 94, 310, 329
cache-response-directive 94, 311, 329
canonical forms 48
CGI (Common Gateway Interface) 3, 57, 79, 222, 276, 282, 285, 287 - 289, 293, 296, 307
Cgi class 283
challenge 115, 311
CHAR 33, 311
character encoding 41
character sets 41-42, 50, 126
charset 42, 311
CheckAuth() 188, 235, 282
CheckFile() 189
CheckHeaders() 190, 208, 209, 221
CheckMethod() 220, 224
chunk 43, 242, 244, 311
chunk-data 43, 244, 311
chunked 199
chunked encoding 43, 44, 44 - 52, 86, 194, 237, 242 - 247
Chunked-Body 43, 244, 311
chunk-ext 43, 244, 311
chunk-ext-name 43, 244, 311
chunk-ext-val 43, 244, 311
chunk-size 43, 244, 311
client 28
client/server 8-10
Close() 152, 173
close() 148
comment 33, 311
compress 42
Connect 151, 155, 158
connect() 134, 159
Connection 89, 197, 203, 336
connection 28
Connection-header 311, 337
connection-token 89, 311, 337
content codings 42, 43
content encoding transformation 42
content negotiation 2
Content-Base 85, 311, 337
content-coding 42, 311
Content-Encoding 59, 62, 86, 98, 311, 338
Content-Language 3, 50, 86, 311, 338
Content-Length 43, 58, 78, 86, 98, 197, 203, 237, 264, 270, 286, 311, 339
Content-Location 85, 87, 311, 340
Content-MD5 87, 118, 311, 341
Content-Range 87, 98, 125, 271, 274, 311, 342
content-range-spec 311, 342
Content-Type 3, 15, 78, 88, 98, 125, 197, 264, 270, 271, 274, 311, 344
CR 33, 311
Create() 151, 154, 155, 157
CreateDate() 263
CreatePipe() 305
CreateProcess() 304, 305, 307
credentials 311
CRLF 33, 312
ctext 33, 312
CTL 33, 311

D

Date 89, 99, 107, 197, 263, 283, 312, 344
date 120
date formats 38
date1 38, 312
date2 38, 312
date3 38, 312
Defense Advanced Research Projects Agency (DARPA) 129
deflate 42
DELETE 55, 60, 81, 93, 178, 222, 223, 247 - 254
delta-seconds 41, 312
digest 119, 312
Digest Access Authentication 2, 63, 112, 115-121
digest-challenge 115, 118, 312
digest-opaque 115
digest-response 119, 312
digest-uri 119, 312
digest-uri-value 119, 312
DIGIT 33, 312
DLL 308
DNS 173
DoDelete() 223, 248, 251
DoExec11() 222, 276, 282
DoHttp11() 187, 216, 259, 260, 265
domain 115, 118, 312
DoOptions() 222
DoPath11() 223, 254
DoPut() 251
DoTrace() 221
DuplicateHandle() 305

E

end-of-line 136, 138
entity 85, 105
entity body 43, 56, 57, 58, 78, 80, 82, 85, 86
entity header 56, 85
entity tags 4, 50, 88, 101, 102, 124, 210
entity-body 312
entity-digest 119, 120, 312
entity-headers 312
entity-info 120, 313
entity-length 313, 342
entity-tag 51, 267, 313
escape 36, 313
ETag 88, 263, 313, 345
Etag 204
ExecCgi() 285, 288, 289, 298, 299, 308
Expires 95, 99, 123, 313, 345
expires 120, 313
explicit expiration time
extension-code 109, 313
extension-header 313
extension-method 313
extension-pragma 89, 355
extra 36, 313

F

fdopen() 295
field-content 313
field-name 313
field-value 313
FindRanges() 190, 210, 260
FindType() 264
firewall 11, 91
first-byte-pos 70, 313, 358
first-hand 29
footer 43, 244, 313
fork() 143
fragment 36, 313
fresh 100
freshness 99
freshness-lifetime 99, 101, 103, 104
From 67, 197, 313, 346
fsegment 36, 313
FTP 59, 59, 138
FTPD 131
Full-Request 14
Full-Response 15

G

gateway
gcount() 172
general headers 5, 83, 88-90, 105, 313
generic-message 313
GET 15, 37, 55, 56-57, 67, 68, 69, 72-78, 93, 178, 222, 223, 225, 254 - 265, 273
GetChunked() 238, 243
gethostbyaddr() 145, 173
gethostbyname() 146, 159
getline() 171, 172, 285
getpeername() 146
GMT (Greenwich Mean Time) 38, 39, 177
GZIP 42

H

H(A1) 116
H(A2) 116
H(data) 314
HEAD 15, 55, 57, 68, 72 - 78, 93, 222, 223, 259, 270, 273, 286
~Headers() 190, 192
Headers() 190
heuristic expiration time
HEX 33, 314
Hex2Char() 246
Hex2Dec() 246
hex-no-zero 43, 244, 314
Host 67, 73, 198, 209, 314, 347
HT 314
HTML 10, 13, 15, 77
htonl() 144
htons() 134, 144
HTTP 138
HTTP/0.9 12-13, 14
HTTP/1.0 13 - 16
http_URL 36, 314
HTTPD 131
HTTP-date 314
HTTP-message 314
HTTP-Version 314

I

IANA 42, 47, 50
IBM 147
idempotence 58
IESG (Internet Engineering Steering Group) 5
If-Match() 68, 69, 80, 124, 198, 208, 209, 236, 240, 241, 251, 261, 267, 282, 314, 349
IfMatch() 240, 242
If-Modified-Since 14, 57, 67, 122, 123, 198, 203, 209, 236, 239, 251, 261, 314, 348
IfModSince() 238, 240
IfNone 241
If-None-Match 68, 124, 198, 208, 209, 236, 241, 242, 251, 261, 267, 282, 314, 350
If-Range 69, 70, 199, 262, 265 - 267, 314, 352
IfRange() 260
ifstream 171
If-Unmodified-Since 69, 69, 81, 123, 199, 203, 209, 236, 240, 251, 261, 282, 314, 352
IfUnmodSince() 239
INADDR_ANY 130, 156, 157
Index() 260
inet_addr() 145
inet_ntoa() 145
InitCgi 298
Internet 11
Internet Assigned Numbers Authority (IANA) 42
Internet Media Types 47
Internic 10
ioctl() 153
IP address 16
isdigit() 214
ISINDEX 13

J

Jigsaw 4

K

KD(secret, data) 314

L

language tags 50
language-range 63, 314, 325
languages 126
language-tag 50, 314
last-byte-pos 70, 314, 358
Last-Modified 88, 99, 101, 263, 314, 353
last-modified 120, 314
LF 33, 314
LHEX 119, 314
libwww 4
Linux 143
listen() 131, 134, 157
little endian notation 134
LOALPHA 33, 314
Location 113, 314, 354
LWS 33, 314
_lxchg() 294

M

Mac 9
main() 179
MakeUnique() 252, 253
man in the middle attack 120
max-age 97, 99, 123
Max-Forwards 60, 69, 82, 314, 354
max-stale 97
may 27
MD5 87, 112, 116, 117, 118
md5-digest 87, 315, 341
media types 14, 47-49, 50, 82, 100, 126, 263
media-range 315, 322
media-type 48, 315
memcpy() 305
memset() 304
message 29
Message Digest 5 118
message-body 315
message-header 315
method 55, 315
MIME 13, 14, 47, 49, 125, 273
min-fresh 97
month 38, 315
multipart types 49
multipart/byteranges 70, 271
must 26
must-revalidate 98, 98

N

national 36, 315
net_loc 36, 315
net_path 36, 315
Netscape Navigator 9
network byte order 134
nextnonce 112, 113, 315
no-cache 89, 96
nonce 115, 118, 315
nonce-value 115, 118, 315
no-store 97
no-transform 98, 335
ntohl() 144
ntohs() 144

O

OCTET 33, 315
only-if-cached 97
opaque 115, 118, 315
opaque-tag 51, 315
open() 254
OPTIONS 55-56, 81, 93, 222
origin server 91
OS/2 9, 134, 136, 143, 148, 155, 162, 177, 182, 183, 185, 287, 289 - 299, 308
other-range-unit 51, 315

P

param 36, 315
parameter 48, 315
params 36, 315
Passive() 151, 155, 156, 159
password 116, 315, 316
path 36, 316
pchar 36, 316
Perl 78
persistent connections 10, 86, 187
POP3 118
port 37, 316
POST 15, 54, 55, 58, 78, 93, 178, 222, 283
Pragma 89, 316, 355
pragma-directive 89, 316, 355
primary-tag 50, 316
private 94, 98
product 316
product token 49
product-version 316
protocol-name 90, 316, 365
protocol-version 90, 316, 365
proxy 10, 29
proxy agent 91, 113
proxy cache 91
Proxy-Authenticate 113, 316, 356
Proxy-Authenticate-info 113
Proxy-Authentication 316
Proxy-Authentication-info 316
Proxy-Authorization 70, 316, 356
proxy-revalidate 98
pseudonym 90, 316, 365
psock_errno() 149
Public 98, 113, 316, 357
PUT 55, 59, 80, 93, 178, 222, 223, 236

Q

qdtext 34, 316
quality values 49
query 36, 316
quoted-pair 34, 316
quoted-string 33, 316
qvalue 316

R

rand() 273
Range 3, 69, 70, 124, 199, 266, 316, 357
range request 4
Range Retrieval 359
range units 51
ranges-specifier 70, 316, 357
range-unit 51, 316
RcvHeaders() 190, 194, 194, 200, 221
read() 147, 172, 271
ReadFile() 307
realm 115, 115, 118, 316
realm-value 115, 115, 118, 316
Reason-Phrase 109, 316
received-by 90, 316, 365
received-protocol 316, 365
Recv() 151, 159, 162, 167, 238
recv() 136, 138, 147, 153, 167
RecvLine() 137
RecvTeol() 45, 151, 159, 161, 167, 245, 284
referer 71, 199, 316, 360
rel_path 36, 316
relativeURI 36, 316
removesocketfromlist() 148
replay attack 120
representation 29
Request 54, 316
Request For Comments. See RFC
request header 5, 61-64
request message 5, 14, 52, 54 - 55, 61, 78, 82, 124
request-header 317
Request-Line 14, 54, 74, 317
Request-URI 15, 55, 56, 58, 59, 71, 80, 81, 121, 317
reserved 36, 317
ResolveName() 152, 172
resource 30
Response 107, 114, 119, 317
response header 5, 111 - 115
response message 5, 14, 77, 105, 107 - 111
response-digest 116, 119, 317
response-header 317
Retry-After 114, 318, 360
REXX 78
RFC 4, 5, 10, 13
RFC 1945 14
rfc1123-date 38, 318
rfc850-date 38, 318

S

safe 36, 318
scheme 36, 318
seekg() 271, 287
segment 36, 318
select() 167
semantically transparent 30
Send() 151, 169
send() 136, 138, 147, 172
SendBinary 152, 169, 171
SendByteRange() 264, 267
SendError() 223
SendText() 151, 169, 171
Server 107, 114, 263, 283, 318, 361
server 30
Server() 183
setsockopt() 131, 153, 157
shopping cart 16
should 27, 77
SMTP 64, 138
SO_MAXCONN 157
SO_REUSEADDR 131, 156, 157
sock_errno() 149
sock_init() 182
sockaddr 129
sockaddr_in 129
~Socket() 150, 154
socket 4, 8, 58, 73, 127, 129 - 130, 136
socket class 74, 127, 149 - 154, 154 - 173, 184
Socket() 150, 154, 157, 158, 161
socket() 130, 133, 134, 135
soclose() 148
SOMAXCONN 132, 156
SP 33, 318
spawnvpe() 296
spiders 15
spoofing by counterfeit servers attack121
sprintf() 241, 286, 304
stale 99, 100, 115, 118, 318
start-line 318
STARTUPINFO 305
stat() 238, 285, 286
stateless 10, 16
Status-Code 108, 109 - 111, 318
Status-Line 15, 107, 319
stdin 293, 304, 308
stdout 293, 304, 308
strchr() 285
strcmp() 225, 267, 283
strdup() 206, 207
strlen() 246, 285, 304
strlwr() 284
strong 101
strong comparison 102
strrchr() 252
strstr() 284
struct in_addr 129
subtag 50, 319
subtype 48, 319
suffix-byte-range-spec 70, 319, 358
suffix-length 70, 319, 358

T

TCP/IP 8, 129, 132, 134, 136, 147, 156, 184
Telnet end-of-line sequence 136, 137, 153
TEXT 33, 319
time 38, 319
token 33, 319
TRACE 55, 60, 69, 82, 93, 220, 225
transfer coding 43, 319
Transfer-Encoding 87, 89, 199, 203, 319, 361
transfer-extension 319
tspecials 33, 319
tunnel 11, 30
type 48, 319

U

uchar 36, 319
Uniform Resource Identifier (URI) 35, 36, 319
Uniform Resource Locator (URL) 2, 35
Uniform Resource Name 35
Universal Document Identifiers 35
UNIX 293
unlink() 253
unreserved 36, 319
unsafe 36, 319
UPALPHA 33, 319
Upgrade 90, 199, 319, 362
US-ASCII 33, 41
user agent 31
User-Agent 55, 71, 200, 319, 363
userid 319
username 119, 319
username-value 119, 319
user-pass 319
UTC 38, 39, 177

V

validate 101
validator 31
value 48, 320
"vanity" servers 16
variant 31
Vary 3, 114, 127, 320, 363
Via 90, 320, 365
virtual domains 16
Visual Age C++ 185

W

W3Conn() 185, 203, 216, 220, 224
warn-agent 114, 320, 367
warn-code 114, 320, 367
Warning 95, 99, 114, 320, 367
warning-value 114, 320, 367
warn-text 114, 320, 367
weak 51, 101, 320
weak comparison 102
Web robots 15
Web surfing 3
weekday 38, 320
Windows 287, 299-307, 308
winsock 146
wkday 38, 320
write() 147, 238, 285
WSACleanup() 147, 183
WSAStartup() 182
WWW-Authenticate 113, 115, 118, 320, 369