HTTP/1.1

Source: Internet
Author: User
Tags rfc unsupported dns spoofing
Network Working Group R. fieldingrequest for comments: 2616 UC runtime: 2068 J. gettyscategory: Standards track Compaq/w3cj. mogulcompaqh. frystykw3c/mitl. scheduler. leachmicrosoftt. Berners-LeeW3C/mitjune 1999
 
 
Hypertext Transfer Protocol -- HTTP/1.1 Hypertext Transfer Protocol -- HTTP/1.1 Status of this memo purpose of this article

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. please refer to the current edition of the "Internet official protocol standards" (Std 1) for the Standardization state and status of this Protocol. distribution of this memo is unlimited.

This article introduces the internet standard specification. Please reference "Internet official protocol standards" (Std 1) as the Standard Specification for this Protocol. This article can be reproduced at will.

Copyright Notice:

Copyright (c) the Internet Society (1999). All rights reserved.

Abstract Introduction

The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. it is a generic, stateless, protocol which can be used for processing tasks beyond its use for Hypertext, such as name servers and distributed object management systems, through extension of its request methods, error Codes and headers [47]. A feature of HTTP is the typing and negotiation of Data Representation, allowing systems to be built independently of the data being transferred.

Hypertext Transfer Protocol (HTTP) is an application layer protocol for distributed and collaborative multimedia information systems. In addition to the application layer protocol that is often used for Hypertext Transfer, HTTP can also be used for request errors.Code, And supports naming services and distributed object management systems without borders with header extensions. Http features data representation negotiation, which allows system building to be independent of transmitted data.

HTTP has been in use by the world-wide web global information initiative since 1990. this specification defines the Protocol referred to as "HTTP/1.1", and is an update to RFC 2068 [33].

HTTP was first applied to WWW in 1990. This specification defines the HTTP/1.1 specification, which was recently updated in RFC 2068

Table of contents
  1. Introduction... 1 Preface

    1. Purpose... 1.1 Objective
    2. Requirements... 1.2 requirements
    3. Terminology... 1.3 terms
    4. Overall operation... 1.4 Overview
  2. Notational conventions and generic grammar... 2 General protocols and syntax
    1. Augmented BNF... 2.1
    2. Basic rules... 2.2 Basic Rules
  3. Protocol parameters... 3 protocol parameters
    1. HTTP Version... 3.1 HTTP Version
    2. Uniform resource identifiers... 3.2 unified Resource Identifier
      1. General syntax... 3.2.1 General syntax
      2. Http url... 3.2.2 HTTP URL
      3. Uri comparison... 3.2.3 URT comparison
    3. Date/time formats... 3.3 Date and Time Format
      1. Full date... 3.3.1
      2. Delta seconds... 3.3.2
    4. Character sets... 3.4 Character Set
      1. Missing charset... 3.4.1 missing character set
    5. Content codings... 3.5 Content Encoding
    6. Transfer codings... 3.6 escape Encoding
      1. Chunked transfer coding... 3.6.1 block escape code
    7. Media types... 3.7 media type
      1. Canonicalization and text defaults... 3.7.1 standardization and default body
      2. Multipart types... 3.7.2 multi-part type
    8. Product tokens... 3.8 product logo
    9. Quality Values... 3.9 Quality Value
    10. Language tags... 3.10 language identifier
    11. Entity tags... 3.11 entity ID
    12. Range units... 3.12 range Unit
  4. HTTP message... 4 HTTP message
    1. Message types... 4.1 Message Type
    2. Message Headers... 4.2 Message Header
    3. Message Body... 4.3 Message Body
    4. Message length... 4.4 message length
    5. General header fields... 4.5 General header domain
  5. Request... 5 request
    1. Request-line... 5.1 request line

      1. Method... 5.1.1 Method
      2. Request-Uri... 5.1.2 request-Uri
    2. The resource identified by a request... 5.2 Resource ID of the request
    3. Request header fields... 5.3 Request Header domain
  6. Response... 6 response (response)
    1. Status-line... 6.1 status line

      1. Status Code and reason phrase... 6.1.1 status code and Explanation
    2. Response header fields... 6.2 response header field
  7. Entity... 7 entity
    1. Entity header fields... 7.1 entity header domain
    2. Entity body... 7.2 entity body
      1. Type... 7.2.1 type
      2. Entity length... 7.2.2 entity Length
  8. Connections... 8 connection
    1. Persistent connections... 8.1 fixed connection

      1. Purpose... 8.1.1 objective
      2. Overall operation... 8.1.2 overview.
      3. Proxy servers... 8.1.3 Proxy Server
      4. Practical considerations... 8.1.4 practical elements
    2. Message transmission requirements... 8.2 message transmission requirements
      1. Persistent connections and Flow Control... 8.2.1 fixed connection and Flow Control
      2. Monitoring connections for error status messages... 8.2.2 detect connection to get error status messages
      3. Use of the 100 (CONTINUE) status... 8.2.3 practical 100 (CONTINUE) Status
      4. Client behavior if Server prematurely closes connection... 8.2.4 The act of prematurely disabling the control on the Server Client
  9. Method definitions... 9 method definition
    1. Safe and idempotent methods... 9.1 Security Power Equality Method

      1. Safe Methods... 9.1.1 Security Method
      2. Idempotent methods... 9.1.2 idempotent Method
    2. Options... 9.2 options
    3. Get... 9.3 get
    4. Head... 9.4 head
    5. Post... 9.5 Post
    6. Put... 9.6 put
    7. Delete... 9.7 Delete
    8. Trace... 9.8 trace
    9. Connect... 9.9 connect
  10. Status code definitions... 10 Status Code definition
    1. Informational 1xx... 10.1 information 1xx

      1. 100 continue... 10.1.1 100 continue
      2. 101 switching protocols... 10.1.2 101 switch protocol
    2. Successful 2XX... 10.2 successful 2XX
      1. 200 OK... 10.2.1 200 OK
      2. 201 created... 10.2.2 201 create
      3. 202 accepted... 10.2.3 202 accept
      4. 203 non-authoritative information... 10.2.4 203 unofficial news
      5. 204 NO content .... 10.2.5 204 NO content
      6. 205 reset content... 10.2.6 205 reset content
      7. 206 partial content... 10.2.7 Part 1 (incomplete content ?)
    3. Redirection 3xx... 10.3 redirection 3xx
      1. 300 multiple choices... 10.3.1 300 multiple options
      2. 301 moved permanently... 10.3.2 301 permanent movement
      3. 302 found... 10.3.3 302 found
      4. 303 see other... 10.3.4 303 switch to other
      5. 304 not modified... 10.3.5 304 not modified
      6. 305 use proxy... 10.3.6 305 utility proxy
      7. 306 (unused)... 10.3.7 306 not used
      8. 307 temporary redirect... 10.3.8 307 temporary redirection
    4. Client error 4xx... 10.4 client Error
      1. 400 bad request... 10.4.1 400 Error request
      2. 401 unauthorized... 10.4.2 401 Illegal Request (no permission)
      3. 402 payment required... 10.4.3 402 payment required ???
      4. 403 forbidden... 10.4.4 403 Forbidden
      5. 404 Not found... 10.4.5 404 not found
      6. 405 method not allowed... 10.4.6 405 method not allowed
      7. 406 not acceptable... 10.4.7 406 unacceptable
      8. 407 proxy authentication required... 10.4.8 407 requires proxy Permissions
      9. 408 request timeout... 10.4.9 408 request timeout
      10. 409 conflict... 10.4.10 409 conflict
      11. 410 gone... 10.4.11 410 gone
      12. 411 length required... 10.4.12 411 unknown length
      13. 412 precondition failed... 10.4.13 412 failed to prepare conditions
      14. 413 Request Entity too large... 10.4.14 413 the Request Entity is too large
      15. 414 request-URI Too long... 10.4.15 414 the request URI is too long
      16. 415 unsupported media type... 10.4.16 415 unsupported media type
      17. 416 requested range not satisfiable... 10.4.17 416 not within the request range
      18. 417 expectation failed... 10.4.18 417 expectation failed
    5. Server Error 5xx... 10.5 server error 5xx
      1. 500 internal server error... 10.5.1 500 internal service error
      2. 501 not implemented... 10.5.2 501 not applied
      3. 502 Bad Gateway... 10.5.3 502 Gateway error
      4. 503 service unavailable... 10.5.4 503 service invalid
      5. 504 gateway timeout... 10.5.5 504 gateway timeout
      6. 505 HTTP Version Not Supported... 10.5.6 505 HTTP Version not supported.
  11. Access authentication... 11 Access Verification
  12. Content negotiation... 12 content negotiation
    1. Server-driven negotiation... 12.1 server-side drive negotiation
    2. Agent-driven negotiation... 12.2 client-driven negotiation
    3. Transparent negotiation... 12.3 transparent negotiation
  13. Caching in HTTP... 13 cache in HTTP
    1. @ Missing @ packet loss

      1. Cache correctness... 13.1.1 cache Verification
      2. Warnings... 13.1.2 warning
      3. Cache-control mechanisms... 13.1.3 Cache Control Mechanism
      4. Explicit User Agent warnings... 13.1.4 explicit user segment warning
      5. Exceptions tions to the Rules and warnings... 13.1.5 exceptions of rules and warnings
      6. Client-Controlled behavior... 13.1.6 behavior controlled by the client
    2. Expiration model... 13.2 termination Mode
      1. Server-specified expiration... 13.2.1 server termination
      2. Heuristic expiration... 13.2.2 try to terminate
      3. Age calculations... 13.2.3 life computing
      4. Expiration calculations... 13.2.4 terminate Calculation
      5. Disambiguating expiration values... 13.2.5 eliminate the termination value of Ambiguity
      6. Disambiguating multiple responses... 13.2.6 remove multiple response of Ambiguity
    3. Validation model... 13.3 Verification Mode
      1. Last-modified dates... 13.3.1 final verification time
      2. Entity tag cache validators... 13.3.2 entity identity cache Verification
      3. Weak and strong validators... 13.3.3 wake up and strong verification
      4. Rules for when to use entity tags and last-modified dates... 13.3.4 when to use the entity identification and Last modified Date rules
      5. Non-Validating conditionals... 13.3.5 non-validation criteria
    4. Response cacheability... 13.4 cache response
    5. Constructing responses from caches... 13.5 construct a response from the cache
      1. End-to-end and hop-by-hop headers... 13.5.1 end-to-end and hop-by Headers
      2. Non-modifiable headers... 13.5.2 unmodified Headers
      3. Combining headers... 13.5.3 combination Headers
      4. Combining byte ranges... 13.5.4 combination byte range
    6. Caching negotiated responses... 13.6 cache negotiated response
    7. Shared and non-shared caches... 13.7 shared and non-shared Cache
    8. Errors or incomplete response cache behavior... 13.8 error and unfinished response cache behavior
    9. Side effects of get and head... 13.9 edge effects of get and head
    10. Invalidation after updates or deletions... 13.10 expired after update and Deletion
    11. Write-through mandatory... 13.11 mandatory write
    12. Cache replacement... 13.12 cache replacement.
    13. History lists... 13.13 history
  14. Header field definitions... 14 header field Definition
    1. Accept... 14.1 receiving
    2. Accept-charset... 14.2
    3. Accept-encoding... 14.3
    4. Accept-language... 14.4
    5. Access-ranges... 14.5
    6. Age .... 14.6
    7. Allow... 14.7
    8. Authorization... 14.8
    9. Cache-control... 14.9 Cache Control
      1. What is cacheable... 14.9.1 what can be cached.
      2. What may be stored by caches... 14.9.2 what can be stored in cache?
      3. Modifications of the basic expiration mechanism... 14.9.3 modification of the basic termination mechanism
      4. Cache revalidation and reload controls... 14.9.4 cache re-verification and load control
      5. No-transform directive... 14.9.5
      6. Cache Control extensions... 14.9.6 Cache Control Extension
    10. Connection... 14.10 connection
    11. Content-encoding... 14.11 content-Encoding
    12. Content-language... 14.12 content-language
    13. Content-Length... 14.13 Content-Length
    14. Content-location... 14.14 content-region
    15. Content-MD5... 14.15 content-MD5 Encryption
    16. Content-range... 14.16 content-Range
    17. Content-Type... 14.17 Content-Type
    18. Date... 14.18 time
      1. Clockless origin server operation... 14.18.1
    19. Etag... 14.19
    20. CT... 14.20
    21. Expires... 14.21
    22. From... 14.22
    23. Host... 14.23 host
    24. If-match... 14.24 if match
    25. If-modified-since .... 14.25
    26. If-None-match... 14.26
    27. If-range… 14.27
    28. If-unmodified-since .... 14.28
    29. Last-modified .... 14.29
    30. Location... 14.30
    31. Max-forward... 14.31
    32. Pragma... 14.32
    33. Proxy-authenticate... 14.33
    34. Proxy-authorization... 14.34
    35. Range... 14.35
      1. Byte ranges... 14.35.1
      2. Range retrieval requests... 14.35.2
    36. Referer... 14.36
    37. Retry-after .... 14.37
    38. Server... 14.38
    39. Te... 14.39
    40. Trailer... 14.40
    41. Transfer-encoding .... 14.41
    42. Upgrade... 14.42
    43. User-Agent... 14.43
    44. Vary... 14.44
    45. Via… 14.45
    46. Warning... 14.46
    47. WWW-authenticate... 14.47
  15. Security considerations... 15
    1. Personal information... 15.1

      1. Abuse of server log information... 15.1.1
      2. Transfer of sensitive information... 15.1.2
      3. Encoding sensitive information in Uri's... 15.1.3
      4. Privacy issues connected to accept headers... 15.1.4
    2. Attacks Based on file and path names... 15.2
    3. DNS spoofing... 15.3
    4. Location headers and spoofing... 15.4
    5. Content-disposition issues... 15.5
    6. Authentication credentials and idle clients... 15.6
    7. Proxies and caching... 15.7
      1. Denial of Service attacks on proxies... 15.7.1
  16. Acknowledgments... 16
  17. References... 17
  18. Authors 'addresses... 18
  19. Appendices... 19
    1. Internet media type message/HTTP and application/HTTP... 19.1
    2. Internet media type multipart/byteranges... 19.2
    3. Tolerant applications... 19.3
    4. Differences between HTTP entities and RFC 2045 entities... 19.4
      1. Mime-version... 19.4.1
      2. Conversion to canonical form... 19.4.2
      3. Conversion of date formats... 19.4.3
      4. Introduction of content-encoding... 19.4.4 Content Encoding Introduction
      5. NO content-transfer-encoding... 19.4.5 NO content Transfer Encoding
      6. Introduction to introduction of transfer-encoding... 19.4.6 escape code
      7. MHTML and line length limitations... 19.4.7 mhtml h hunger row length limit
    5. Additional features... 19.5 additional features
      1. Content-disposition... 19.5.1 content-Disposition
    6. Compatibility with previous versions... 19.6
      1. Changes from HTTP/1... 19.6.1
      2. Compatibility with HTTP/1... 19.6.2
      3. Changes from RFC 2068... 19.6.3
  20. Index... 20 Index
  21. Full copyright statement... 21
Derived from HTTP/1.1 , Internet RFC 2616, Fielding, et al.

Using rfc2html revision: 1.8 Date: 2004/09/01 13:21:38 by Dan Connolly

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.