HTTP authoritative guide (first authoritative book on HTTP and related core web technologies in China)

Source: Internet
Author: User
Tags error status code internet cache web hosting openssl client squid proxy

HTTP authoritative guide (first authoritative book on HTTP and related core web technologies in China)
Basic Information
Original Title: http: the definitive guide
Author: (US) Gourley (D.) [Translator's introduction]
Translator: Chen Juan Zhao Zhenping
Series name: Turing programming Series
Press: People's post and telecommunications Press
ISBN: 9787115281487
Mounting time:
Published on: February 1, August 2012
Start: 16
Page number: 1
Version: 1-1
Category: Computer> Computer Network> network protocol> comprehensive


For more information, HTTP authoritative guide (the first authoritative book on HTTP and related core web technologies in China)
Introduction
Books
Computer books
The HTTP authoritative guide is an authoritative book on HTTP and its core web technologies. It mainly introduces how Web applications work and how core internet protocols interact with Architecture building blocks, how to correctly implement Internet customers and servers.
The HTTP authoritative guide is suitable for anyone who wants to understand the underlying structure of HTTP and web.

Directory
HTTP authoritative guide
Part 1 http: Web Basics
Chapter 3 HTTP overview 3
1.1 http-multimedia messenger 4 on the Internet
1.2 Web client and server 4
1.3 resource 5
1.3.1 media type 6
1.3.2 URI 7
1.3.3 URL 7
1.3.4 urn 8
1.4 transactions 9
1.4.1 Method 9
1.4.2 status code 10
1.4.3 web pages can contain multiple objects 10
1.5 message 11
1.6 connection 13
1.6.1 TCP/IP 13
1.6.2 connection, IP address, and port number 14
1.6.3 use Telnet instance 16
1.7 Protocol Version 18
1.8 web structure component 19
1.8.1 proxy 19
1.8.2 cache 20
1.8.3 gateway 20
1.8.4 tunnel 21
1.8.5 agent 21
1.9 Conclusion 22
1.10 more information 22
1.10.1 HTTP protocol information 22
1.10.2 Historical Perspective 23
1.10.3 Other World Wide Web information 23
Chapter 5 URL and resource 25
2.1 browse internet resources 26
2.2 URL syntax 28
2.2.1 solution-What protocol is used 29

2.2.2 host and port 30
2.2.3 user name and password 30
2.2.4 path 31
2.2.5 parameter 31
2.2.6 query string 32
2.2.7 segment 33
2.3 URL Shortcut 34
2.3.1 relative URL 34
2.3.2 automatic scaling of URL 37
2.4 various tough characters 38
2.4.1 URL Character Set 38
2.4.2 encoding mechanism 38
2.4.3 character limit 39
2.4.4 another note: 40
2.5 solution world 40
2.6 future prospects 42
2.7 more information 44
Chapter 4 HTTP message 45
3.1 message stream 46
3.1.1 Packet Flow to source server 46
3.1.2 downstream Packet Flow 47
3.2 Message Components 47
3.2.1 message syntax 48
3.2.2 starting row 50
3.2.3 header 53
3.2.4 entity part 55
3.2.5 version 0.9 message 55
3.3 Method 56
3.3.1 Security Method 56

3.3.2 get 56
3.3.3 head 57
3.3.4 put 57
3.3.5 post 58
3.3.6 trace 58
3.3.7 options 60
3.3.8 Delete 60
3.3.9 Expansion Method 61
3.4 status code 62
3.4.1 100 ~ 199 -- Information Status Code 62
3.4.2 200 ~ 299 -- Success status code 63
3.4.3 300 ~ 399 -- redirect status code 64
3.4.4 400 ~ 499 -- client error status code 68
3.4.5 500 ~ 599 -- server error status code 69
3.5 first 70
3.5.1 general purpose 71
3.5.2 Request Header 72
3.5.3 Response Header 74
3.5.4 entity header 75
3.6 more information 77
Chapter 2 connection management 79
4.1 TCP connection 80
4.1.1 TCP reliable data pipeline 80
4.1.2 TCP streams are segmented and transmitted by IP groups 81
4.1.3 keep the TCP connection running correctly 82
4.1.4 programming with TCP socket 84
4.2 consideration of TCP Performance 85
4.2.1 HTTP transaction latency 86
4.2.2 performance focus area 87
4.2.3 handshake latency of TCP connection 87
4.2.4 delayed confirmation 88
4.2.5 TCP Slow Start 89
4.2.6 Nagle algorithm and tcp_nodelay 89
4.2.7 time_wait accumulation and port depletion 90
4.3 HTTP connection handling 91
4.3.1 frequently misunderstood connection header 91

4.3.2 latency of serial transaction processing 92
4.4 Parallel Connection 94
4.4.1 parallel connections may increase the page loading speed by 94
4.4.2 parallel connections may not be faster. 95
4.4.3 parallel connections may make people feel faster. 95
4.5 persistent connection 96
4.5.1 persistent and parallel connections 96
4.5.2 HTTP/1.0 + keep-alive connection 97
4.5.3 keep-alive operation 98
4.5.4 keep-alive option 98
4.5.5 limits and rules for keep-alive connections 99
4.5.6 keep-alive and dummy proxy 100
4.5.7 insert proxy-connection 102
4.5.8 HTTP/1.1 persistent connection 104
4.5.9 restrictions and rules for persistent connections 104
4.6 Pipeline Connection 105
4.7 close connection secrets 106
4.7.1 "arbitrary" disconnection 106
4.7.2 Content-Length and tail truncation operations 107
4.7.3 disconnection tolerance, retry, and idempotence 107
4.7.4 disconnect normally 108
4.8 more 110
4.8.1 HTTP connection 110
4.8.2 HTTP performance problem 110
4.8.3 TCP/IP 111
Part 2 HTTP Structure
Chapter 2 web server 5th
5.1 web servers of various shapes and sizes 116
5.1.1 Web Server 116
5.1.2 General Software Web Server 117
5.1.3 Web Server Device 117
5.1.4 Embedded Web Server 118
5.2 minimal Perl Web Server 118
5.3 what will the actual Web Server do? 120
5.4 Step 1 -- accept client connection 121
5.4.1 process new connection 121
5.4.2 client host name recognition 122
5.4.3 determine the client user 122 through ident
5.5 Step 2 -- receive request message 123
5.5.1 internal representation of packets 124
5.5.2 Input/Output Processing Structure of the connection 125
5.6 step 3 -- process request 126
Step 4: map and access resources 5.7
5.7.1 docroot 127
5.7.2 list of directories 129
5.7.3 ing of Dynamic Content Resources 130
5.7.4 server-side inclusion item 131
5.7.5 Ram 131
Step 5: build response 5.8
5.8.1 response entity 131
5.8.2 MIME type 132
5.8.3 redirection 133
5.9 step 6 -- send response 134
5.10 Step 7 -- log 134
5.11 more 134
Chapter 4 proxy 6th
6.1 web intermediate entity 136
6.1.1 private and shared proxy 136
6.1.2 proxy and gateway comparison 137
6.2 why use proxy 138
6.3 Where will the proxy go 143

6.3.1 agent server deployment 144
6.3.2 proxy hierarchy 144
6.3.3 how the proxy gets 147 of the traffic
6.4 client proxy settings 148
6.4.1 agent configuration on the client: manually configure 149
6.4.2 client proxy configuration: PAC file 149
6.4.3 client proxy configuration: WPAD 150
6.5 some thorny issues related to proxy requests 151
6.5.1 proxy URI is different from the server URI 151
6.5.2 same issues as virtual hosts 152
6.5.3 The interception proxy will receive part of the URI 153
6.5.4 The proxy can process both proxy requests and server requests 154
6.5.5 modify the URI 154 During forwarding
6.5.6 automatic client extension and host name resolution 155 for Uri
6.5.7 URI parsing 155 when no proxy exists
6.5.8 parsing of Uri 156 when an explicit proxy is available
6.5.9 parsing 157 of the URI when a proxy is intercepted
6.6 trace message 158
6.6.1 via header 158
6.6.2 TRACE method 162
6.7 proxy authentication 164
6 | directory
6.8 proxy interoperability 165
6.8.1 handle headers and methods not supported by the agent 166
6.8.2 options: 166 of available features are found.
6.8.3 allow header 167
6.9 more 167
Chapter 4 cache 7th
7.1 redundant data transmission 170
7.2 Bandwidth bottleneck 170
7.3 instant congestion 171
7.4 distance latency 172
7.5 hits and 173 missed
7.5.1 further verification 173
7.5.2 hit rate 175
7.5.3 bytes hit rate: 176
7.5.4 distinguish between hit and missed situations 176
7.6 cache topology 177
7.6.1 private cache 177
7.6.2 public proxy caching 177
7.6.3 Proxy Cache hierarchy 179
7.6.4 mesh cache, content routing, and peer-to-peer cache 180
7.7 cache processing step 181
7.7.1 Step 1 -- receive 181
7.7.2 Step 2 -- resolution 182
7.7.3 step 3 -- Query 182
7.7.4 Step 4 -- freshness detection 182
7.7.5 Step 5 -- create response 182
7.7.6 step 6 -- send 183
7.7.7 Step 7 -- log 183
7.7.8 cache processing flowchart 183
7.8 keep the copy fresh 183
7.8.1 documentation expired 184
7.8.2 expiration date and validity period 185
7.8.3 verify 185 again on the server
7.8.4 perform further verification using the conditional method 186
7.8.5 if-modified-since: Date and then verify the 187
7.8.6 if-None-Match: entity tag verification 189
7.8.7 strength validators 190
7.8.8 when should I use the entity tag and the last modification date 190?
7.9 control cache capability 191
7.9.1 no-store and no-Cache Response Header 191
7.9.2 max-age Response Header 192
7.9.3 expires Response Header 192
7.9.4 must-revalidate Response Header 192
7.9.5 tentative expiration 193
7.9.6 client freshness limit: 194
7.9.7 note 194
7.10 set Cache Control 195
7.10.1 control Apache HTTP header 195
7.10.2 control HTML cache 196 through http-equiv
7.11 detailed algorithm 197
7.11.1 use period and fresh survival period: 198
7.11.2 calculation of the validity period 198
7.11.3 complete Computing Algorithm for use period 201
7.11.4 fresh survival calculation 202
7.11.5 complete server-freshness algorithm 202
7.12 cache and advertisement 204
7.12.1 the dilemma of advertisers 204
7.12.2 publisher response 204
7.12.3 log migration 205
7.12.4 hit count and use limit of 205
7.13 more 205
Chapter 2 integration points: gateways, tunnels, and relay 8th
8.1 gateway 208
8.2 Protocol Gateway 210
8.2.1 HTTP/*: server-side web gateway 211
8.2.2 HTTP/https: server-side security gateway 212
8.2.3 https/HTTP client security accelerator gateway 212
8.3 Resource gateway 213
8.3.1 CGI 215
8.3.2 Server Extension API 215
8.4 application interfaces and Web Services 216
8.5 tunnel 217
8.5.1 use connect to establish an HTTP tunnel 217
8.5.2 data tunnel, timing, and connection management 219
8.5.3 SSL tunnel 219
8.5.4 comparison between SSL tunnel and HTTP/HTTPS gateway 220
8.5.5 tunnel authentication 221
8.5.6 tunnel security considerations 221
8.6 relay 222
8.7 more 224
Chapter 2 web robot 9th
9.1 crawlers and crawling Methods 226
9.1.1 start from where: root SET 226
9.1.2 extraction of links and standardization of relative links 227
9.1.3 avoid loop occurrence 228
9.1.4 loop and replication 228
9.1.5 trace of bread chips: 229
9.1.6 aliases and robot loop 230
9.1.7 canonicalized URL 230
9.1.8 file system connection ring 231
9.1.9 dynamic virtual web space 232
9.1.10 avoid loop and repetition 233
9.2 robot HTTP 236
9.2.1 identify Request Header 236
9.2.2 VM 236
9.2.3 conditional request 237
9.2.4 handling of responses 238
9.2.5 User-Agent-Oriented 239
9.3 robots with improper behaviors 239
9.4 reject robot access 240
9.4.1 bot access rejection standard 241
9.4.2 web site and robots.txt file 242
9.4.3 robots.txt file format 243
9.4.4 knowledge about robots.txt 246
9.4.5 slow storage and robots.txt expiration 246
9.4.6 Perl code 246 that denies robot access
9.4.7 HTML's robot-control meta tag 249
9.5 robot specifications 251
9.6 search engine 254
9.6.1 overall situation: 255
9.6.2 modern search engine structure 255
9.6.3 full-text index 255
9.6.4 publish query request 257
9.6.5 sort the results and provide query result 258
9.6.6 fraud 258
9.7 more 258
Chapter 2 http-ng 10th
10.1 problems in HTTP development 262
10.2 http-ng activity 263
10.3 modularization and function enhancement 263
10.4 distributed object 264
10.5 Layer 1-message transmission 264
10.6 Layer 2 -- remote call 265
10.7 Layer 3-web application 265
10.8 webmux 265
10.9 binary connection protocol 266
10.10 Current Status 267
10.11 more 267
Part 3 identification, authentication and security
Chapter 2 client identification and COOKIE Mechanism 11th
11.1 personalized contact 272
11.2 HTTP header 273
11.3 Client IP address 274
11.4 User Login 275
11.5 fat URL 277
11.6 cookie 278
11.6.1 cookie type 278
11.6.2 How Does Cookie work 279
11.6.3 cookie canister: client status 280
11.6.4 different sites use different cookie 282
11.6.5 cookie composition 283
11.6.6 cookies version 0 (Netscape) 284
11.6.7 cookies version 1 (RFC 2965) 285
11.6.8 cookie and session tracking 288
11.6.9 cookie and cache 290
11.6.10 cookie, security and privacy 291
11.7 more 292
Chapter 2 Basic Authentication Mechanism 12th
12.1 certification 294
12.1.1 HTTP question/Response Authentication Framework 294
12.1.2 authentication protocol and header 295
12.1.3 security domain 296
12.2 basic certification 297
12.2.1 Basic Authentication instance 298
12.2.2 base-64 username/password code 298
12.2.3 proxy authentication 299
12.3 security defects of basic certification 300
12.4 more 301
Chapter 1 Summary certification 13th
13.1 digest certification improvement 304
13.1.1 use the digest password 304
13.1.2 unidirectional summary 306
13.1.3 use a random number to prevent replay attacks 307
13.1.4 digest handshake mechanism 307
13.2 calculation of the Summary 308
13.2.1 input data of the digest algorithm: 308
13.2.2 algorithm H (D) and KD (S, d) 310
13.2.3 security-related data (A1) 310
13.2.4 data related to packets (A2) 310
13.2.5 summary algorithm summary 311
13.2.6 summary certification session 312
13.2.7 pre-authorization 312
13.2.8 random number 315
13.2.9 symmetric authentication 315
13.3 enhanced protection quality 316
13.3.1 packet Integrity Protection 316
13.3.2 digest certification 1st 317
13.4 actual problems to consider 317
13.4.1 multi-query 318
13.4.2 error handling 318
13.4.3 protected space 318
13.4.4 rewrite URI 319
13.4.5 caching 319
13.5 security considerations 320
13.5.1 first tampering 320
13.5.2 replay attack 320
13.5.3 multi-factor authentication mechanism 320
13.5.4 dictionary attack 321
13.5.5 321 malicious proxy and man-in-the-middle attacks
13.5.6 select plaintext attack 321
13.5.7 storage password 322
13.6 more 322
Chapter 2 Security HTTP 14th
14.1 protect HTTP Security 324
14.2 digital encryption 326
14.2.1 cryptographic mechanism and skills 326
14.2.2 password 327
14.2.3 cryptographic machine 328
14.2.4 password with key 328
14.2.5 digital password 328
14.3 symmetric key encryption technology 330
14.3.1 key length and enumeration attacks 330
14.3.2 create a shared key 332
14.4 public key encryption technology 332
14.4.1 RSA 333
14.4.2 HBr and session key 334
14.5 digital signature 334
14.6 digital certificate 336
14.6.1 certificate content 336
14.6.2 X.509 V3 certificate 337
14.6.3 use a certificate to authenticate the server 338
14.7 HTTPS -- details 339
14.7.1 HTTPS overview 339
14.7.2 HTTPS solution 340
14.7.3 secure transmission 341
14.7.4 SSL handshake 341
14.7.5 server certificate 343
14.7.6 site certificate validity 344
14.7.7 Vm and certificate 345
14.8 HTTPS client instance 345
14.8.1 Open SSL 346
14.8.2 simple HTTPS client 347
14.8.3 run OpenSSL Client 350
14.9 transmit security traffic in a tunnel through proxy 351
14.10 more 353
14.10.1 HTTP Security 353
14.10.2 SSL and TLS 353
14.10.3 Public Key Infrastructure 354
14.10.4 digital password 354
Part 4 entity, encoding and Internationalization
Chapter 2 entity and code 15th
15.1 messages are boxes, and the entity is goods 359
15.2 Content-Length: the object size is 361
15.2.1 detection tail capture 361
15.2.2 the error Content-Length 362
15.2.3 Content-Length and persistent connection 362
15.2.4 Content Encoding 362
15.2.5 rules for determining the length of an entity body: 362
15.3 entity Summary 364
15.4 media type and character set 364
15.4.1 text encoding: 365
15.4.2 multiple media types: 365
15.4.3 submit multiple tables 366
15.4.4 multi-part range response 367
15.5 Content Encoding 368
15.5.1 Content Encoding 368
15.5.2 Content Encoding type 369
15.5.3 accept-encoding first 369
15.6 Transfer Encoding and block encoding 371
15.6.1 reliable transmission 371
15.6.2 transfer-encoding header 372
15.6.3 block encoding 373
15.6.4 combination of Content Encoding and transfer encoding 375
15.6.5 Transfer Encoding Rules 375
15.7 instances that change over time 375
15.8 verification code and freshness 376
15.8.1 freshness 377
15.8.2 conditional requests and Verification Code 378
15.9 range request 380
15.10 differential encoding 382
15.11 more 385
Chapter 2 internationalization 16th
16.1 HTTP support for international content 388
16.2 Character Set and HTTP 389
16.2.1 The character set is the encoding 389 that converts a character to a binary code.
16.2.2 how the character set and encoding work 390
16.2.3 If the character set is incorrect, the character set is not 391.
16.2.4 standard mime charset value 391
16.2.5 Content-Type header and charset header and meta flag 393
16.2.6 accept-charset header 393
16.3 introduction to multi-language character encoding 394
16.3.1 Character Set glossary 394
16.3.2 bad character set naming 395
16.3.3 character 396
16.3.4 font, pen, and representation 396
16.3.5 encoded character set 397
399 character encoding scheme
16.4 language tag and HTTP 402
16.4.1 content-language first 402
16.4.2 accept-language first 403
16.4.3 language tag type 404
16.4.4 subtag 404
16.4.5 Case 405
16.4.6 IANA language mark registration 405
16.4.7 first sub-mark -- namespace 405
16.4.8 second sub-mark -- namespace 406
16.4.9 remaining child tags-namespace 407
16.4.10 configure language-related preference 407
16.4.11 language mark reference table 407
16.5 internationalized URI 408
16.5.1 comparison between global transcription capabilities and meaningful characters: 408
16.5.2 URI Character Set 408
16.5.3 meaning and reversal 409
16.5.4 escape international character 409
Modal switching 410 in 16.5.5 URI
16.6 other considerations 410
16.6.1 first and nonstandard data 410
16.6.2 dated 411
16.6.3 domain 411
16.7 more 411
16.7.1 appendixes 411
16.7.2 Internet internationalization 411
16.7.3 International Standard 412
Chapter 4 content negotiation and transcoding 17th
17.1 content negotiation technology 414
17.2 client-driven negotiation 415
17.3 server-driven negotiation 415
17.3.1 content negotiation header set 416
17.3.2 Quality Value in the content negotiation header: 417
17.3.3 changed with other header sets by 417
17.3.4 Apache content negotiation 417
17.3.5 server expansion 418
17.4 transparent negotiation 419
17.4.1 cache and backup candidates 419
17.4.2 vary first 420
17.5 transcoding 422
17.5.1 format conversion 422
17.5.2 Information Integration 423
17.5.3 content injection 423
Comparison between 17.5.4 transcoding and static pre-generation 423
17.6 next step 424
17.7 more 424
Part 5 content publishing and distribution
Chapter 2 web hosting 18th
18.1 host hosting service 430
18.2 VM hosting 431
18.2.1 virtual server requests lack host information 432
18.2.2 try to make VM hosting work normally 433
18.2.3 Host Header 1.1 of HTTP/437
18.3 make websites more reliable 438
18.3.1 image server cluster 438
18.3.2 content delivery network 440
18.3.3 reverse proxy cache 440 in CDN
18.3.4 Proxy Cache 440 in CDN
18.4 faster 441
18.5 more 441
Chapter 1 release system 19th
19.1 FrontPage Server expansion 444 to support publishing
19.1.1 FrontPage Server expansion 444
19.1.2 FrontPage glossary 445
19.1.3 FrontPage RPC 445
19.1.4 FrontPage's security model 448
19.2 WebDAV and collaborative writing 449
19.2.1 WebDAV Method 449
19.2.2 WebDAV and XML 450
19.2.3 WebDAV header set 451
19.2.4 WebDAV locking and prevention of overwriting 452
19.2.5 lock method 453
19.2.6 unlock method 456
19.2.7 attributes and metadata 456
19.2.8 PROPFIND method 457
19.2.9 method of proppatch 459
19.2.10 set and namespace management 460
19.2.11 mkcol method 460
19.2.12 Delete method 461
19.2.13 methods of copy and move 462
19.2.14 enhanced HTTP/1.1 method 465
Version Management 466 in 19.2.15 WebDAV
19.2.16 future development of WebDAV: 466
19.3 more 467
Chapter 2 redirection and Server Load balancer 20th
20.1 why redirection 470
20.2 redirection to location 471
20.3 redirect protocol overview 471
20.4 General redirection method 474
4.1.4.1 HTTP redirection 474
Ipv4.2 DNS redirection 475
Listen 4.3 anycast addressing 480
Ipv4.4 IP Mac forwarding 481
Route 4.5 IP address forwarding 482
Ipv4.6 Network Element control protocol 484
20.5 Proxy Redirection method 485
20.5.1 explicit browser configuration 485
20.5.2 proxy automatically configured 485
Ipv5.3 Web Proxy Automatic Discovery Protocol 487
20.6 cache redirection method 492
20.7 Internet Cache Protocol 496
20.8 cache array routing protocol 497
20.9 hypertext Cache Protocol 500
20179.1 HTCP certification 502
9.2 set Cache Policy 503
20.10 more 504
Chapter 1 log record and usage tracking 21st
21.1 Record Content 506
21.2 log format 507
21.2.1 common log format 507
21.2.2 combined log format 508
21.2.3 extended log format of network view 509
21.2.4 Netscape extension 2 log format 510
21.2.5 Squid proxy log format 512
21.3 hit rate measurement 515
21.3.1 overview 515
21.3.2 meter header 516
21.4 privacy considerations 517
21.5 more 518
Part 6 Appendix
Appendix a uri scheme 521
Appendix B HTTP status code 529
Appendix C. HTTP header reference 533
Appendix d mime type 557
Appendix E base-64 code 603
Appendix F summary authentication 607
Appendix G Language markup 615
Appendix H mime Character Set registration 641
Index 661

This book is from: China Interactive publishing network

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.