`
`MBwannine@<owrrcrowsemews
`
`Covers HTTP/1.1
`
`Huawei v. Uniloc - Exhibit No. 1015 - 1/8
`
`Huawei v. Uniloc - Exhibit No. 1015 - 1/8
`
`
`
`Illustrated Guide
`to HITP
`
`
`
`PAUL $. HETHMON
`ef
`
`MANNING
`Greenwich
`
`(74° w. long.)
`
`Huawei v. Uniloc - Exhibit No. 1015 - 2/8
`
`Huawei v. Uniloc - Exhibit No. 1015 - 2/8
`
`
`
`Forelectronic browsing and ordering ofthis book, see http://www.browsebooks.com.
`
`The publisher offers discounts on this book when ordered in quantity. For more
`information, please contact:
`
`Special Sales Department
`:
`ae
`;
`Manning Publications Co.
`3 Lewis Street
`Greenwich, CT 06830
`Fax: (203) 661-9018
`email: orders®@manning.com
`
`1997 by Manning Publications Co. All rights reserved.
`
`ae
`;
`ig
`aes
`1Cp.
`wee :
`Q 4
`¥
`7
`MAY 08.199
`allie
`Ne
`
`
`
`OA %6
`/
`' Pas
`a;
`94 L/
`‘
`PETHH LEY
`L997
`ME se
`
`Nopart ofthis publication may be reproduced, stored in a retrieval system, or
`transmitted,in any form or by meanselectronic, mechanical, photocopying,or
`otherwise, without prior written permission ofthe publisher.
`
`© Recognizing the importanceofpreserving what has been written, it is
`Manning's policyto have the books it publishes printed on acid-free paper, and
`we exert our best efforts to that end.
`
`Manyofthe designations used by manufacturers andsellers to distinguish their
`products are claimed as trademarks, Where those designations appear in the book,
`and Manning Publications was aware of a trademark claim,the designations have
`been printed in initial caps orall caps.
`
`Library of Congress Cataloging-in-Publication Data
`Hethmon, Paul S.
`Illustrated guide to HTTP / Paul S$, Hethmon.
`p-
`cm.
`Includes bibliographical refrences and index.
`ISBN 1-884777-37-6
`1. Hypertext systems. 2. HTTP (Computer network protocol)
`LTitle.
`QA76.76.H94H484 1997
`004.6'2—de21
`
`97-1596
`CIP
`
`1||ManningPublications Co.
`3 Lewis Street
`Greenwich, CT 06830
`
`Copyeditor: Maggie Mitchell
`Typesetter: Dorothy Marsico
`Cover designer: Leslie Haimes
`
`Printed in the United States ofAmerica
`123456789 10 ~ CR —- 00 99 98 97
`
`Huawei v. Uniloc - Exhibit No. 1015 - 3/8
`
`Huawei v. Uniloc - Exhibit No. 1015 - 3/8
`
`
`
`contents
`
`
`
`xti
`preface
`acknowledgments
`
`xiv
`
`1
`
`Introduction 1
`
`Is this book for you? 2
`1.1
`1.2. Required background 3
`1.3. The material 4
`
`1.4 Finishing 6
`
`2 HTTP overview 7
`
`2.1 What is the World Wide Web? 8
`Theclient/server model 8
`
`2.2 General operation 10
`3 Abit of history 12
`HTTP/0.9 12, HTTP/1.0 13
`
`2.4 HTTP/1.1 16
`Persistent connections 18,
`Newrequest methods 17,
`Chunked encoding 19, Byte range operations 20,
`Contentnegotiation 20, Digest Authentication 21,
`Caching 22
`2.5 Finishing 24
`
`vil
`
`Huawei v. Uniloc - Exhibit No. 1015 - 4/8
`
`Huawei v. Uniloc - Exhibit No. 1015 - 4/8
`
`
`
`CONTENTS
`
`
`3 Basic HTTP—syntax and semantics 25
`3.1 Terminology 26
`3.2 Protocol syntax 31
`3.3 The basic grammar 33
`3.4 Basic HTTP concepts 34
`HTTP version 34, Uniform Resource Identifiers 35,
`
`Formats for date and time 38, Code: date handling 39,
`Character sets 41, Content codings 42, Transfer
`codings 43, Code: chunked encoding 44, Media
`types 47,
`Product tokens 49, Quality values 49,
`Language tags 50,
`Entity tags 50, Range units 51
`3.5 Finishing 52
`
`4
`
`The request 53
`4.1 The Request Message 54
`4.2 Methoddefinitions 55
`The OPTIONS method 55, The GET method 56, The
`HEAD method 57, The POST method 58, The PUT
`method 59, The DELETE method 60, The TRACE
`method 60
`
`4.3 The request header fields 61
`Accept 61, Accept-Charset 62, Accept-Encoding 62,
`Accept-Language 62, Authorization 63, Code:
`Base64 64,
`From 67, Host 67,
`IfModified-Since 67,
`IfMatch 68,
`IfNone-Match 68,
`If-Range 69,
`IFUnmodified-Since 69, Max-Forwards 69,
`Proxy-Authorization 70, Range 70, Referer 71,
`User-Agent 71
`4.4 Implementation 71
`PUT 80,
`POST 78,
`GET and HEAD 72,
`DELETE 81, OPTIONS 81, TRACE 82
`4.5 Finishing 83
`
`vii
`
`Huawei v. Uniloc - Exhibit No. 1015 - 5/8
`
`Huawei v. Uniloc - Exhibit No. 1015 - 5/8
`
`
`
`
`
`CONTENTS
`
`
`5 Entity and general headers, and cache-control 84
`5.1 The entity headers 85
`Allow 85, Content-Base 85, Content-Encoding 86
`Content-Language 86, Content-Length 86,
`Content-Location 87, Conten-MD5 87,
`Content-Range 87, Content-Type 88,
`Last-Modified 88
`
`ETag 88,
`
`5.2 The general headers 88
`Pragma 89,
`Connection 89, Date 89,
`Transfer-Encoding 89, Upgrade 90, Via 90
`5.3. Cache-Control 91
`Whatis cachable? 93, Age 93, Cache-Control 94,
`Expires 95, Warning 95, Cache operation 96,
`Expiration of responses 99,
`Fresh andstale
`responses 100, Validating a response 101, Examples 103
`5.4 Finishing 105
`
`6 The response 106
`6.1 The response message 107
`6.2 Theresponse headerfields 111
`Accept-Ranges 112, Authentication-info 112,
`Location 113,
`Proxy-Authenticate 113,
`Proxy-Authenticate-info 113,
`Public 113,
`Retry-After 114,
`Server 114, Vary 114,
`Warning 114, WWW-Authenticate 115, Code: Digest
`Access Authentication 115
`
`6.3 Digest Access Authentication 117
`6.4 Implementation 121
`GETand byte range
`GET and HEAD 121,
`requests 124, GET and content negotiation 126
`6.5 Finishing 127
`
`Huawei v. Uniloc - Exhibit No. 1015 - 6/8
`
`Huawei v. Uniloc - Exhibit No. 1015 - 6/8
`
`
`
`CONTENTS
`
`7
`
`Sockets 128
`
`1 The socket 129
`
`2 Setting up the server socket 130
`7.3 Setting up the client socket 134
`7.4 Data transmission 136
`
`7.5 Unuiity routines 144
`7.6 Host name and address routines 144
`
`7.7 NT specifics 146
`7.8 OS/2 specifics 147
`7.9 The socket class 149
`
`7.10 The socket class methods 154
`
`7.11 Finishing 173
`
`8
`
`The HTTP/1.1 server 174
`
`8.1 The configuration file 175
`8.2 The main program 179
`8.3 The server 183
`
`8.4 The authorization model 187
`8.5 Request and response headers 189
`8.6 HTTP/1.1 216
`
`8.7 Finding the method 224
`8.8 TRACE 225
`
`8.9 OPTIONS 229
`8.10 PUT 230
`
`Iffunctions 238
`8.11
`8.12 Chunked encoding 242
`8.13. The DELETE method 247
`8.14 GET the document 254
`8.15 Checking the IfRange 265
`
`Huawei v. Uniloc - Exhibit No. 1015 - 7/8
`
`Huawei v. Uniloc - Exhibit No. 1015 - 7/8
`
`
`
`CONTENTS
`
`
`8.16 Transmission of byte ranges 267
`8.17 Finishing 274
`
`9 Common Gateway Interface support 275
`9.1 Basic functions 276
`
`9.2 Executing the CGI program 287
`9.3 The OS/2 version 289
`9.4 The Windows version 299
`
`9.5 Finishing 308
`
`appendix A HITP syntax 309
`
`appendix B_ HTTP header-field definitions
`
`321
`
`glossary 370
`bibliography
`index 373
`
`372
`
`Huawei v. Uniloc - Exhibit No. 1015 - 8/8
`
`Huawei v. Uniloc - Exhibit No. 1015 - 8/8
`
`