目录搜索
GuidesAccess control CORSAuthenticationBrowser detection using the user agentCachingCaching FAQCompressionConditional requestsConnection management in HTTP 1.xContent negotiationContent negotiation: List of default Accept valuesCookiesCSPMessagesOverviewProtocol upgrade mechanismProxy servers and tunnelingProxy servers and tunneling: Proxy Auto-Configuration (PAC) filePublic Key PinningRange requestsRedirectionsResources and specificationsResources and URIsResponse codesServer-Side Access ControlSessionGuides: BasicsBasics of HTTPChoosing between www and non-www URLsData URIsEvolution of HTTPIdentifying resources on the WebMIME TypesMIME types: Complete list of MIME typesCSPContent-Security-PolicyContent-Security-Policy-Report-OnlyCSP: base-uriCSP: block-all-mixed-contentCSP: child-srcCSP: connect-srcCSP: default-srcCSP: font-srcCSP: form-actionCSP: frame-ancestorsCSP: frame-srcCSP: img-srcCSP: manifest-srcCSP: media-srcCSP: object-srcCSP: plugin-typesCSP: referrerCSP: report-uriCSP: require-sri-forCSP: sandboxCSP: script-srcCSP: style-srcCSP: upgrade-insecure-requestsCSP: worker-srcHeadersAcceptAccept-CharsetAccept-EncodingAccept-LanguageAccept-RangesAccess-Control-Allow-CredentialsAccess-Control-Allow-HeadersAccess-Control-Allow-MethodsAccess-Control-Allow-OriginAccess-Control-Expose-HeadersAccess-Control-Max-AgeAccess-Control-Request-HeadersAccess-Control-Request-MethodAgeAllowAuthorizationCache-ControlConnectionContent-DispositionContent-EncodingContent-LanguageContent-LengthContent-LocationContent-RangeContent-TypeCookieCookie2DateDNTETagExpectExpiresForwardedFromHeadersHostIf-MatchIf-Modified-SinceIf-None-MatchIf-RangeIf-Unmodified-SinceKeep-AliveLarge-AllocationLast-ModifiedLocationOriginPragmaProxy-AuthenticateProxy-AuthorizationPublic-Key-PinsPublic-Key-Pins-Report-OnlyRangeRefererReferrer-PolicyRetry-AfterServerSet-CookieSet-Cookie2SourceMapStrict-Transport-SecurityTETkTrailerTransfer-EncodingUpgrade-Insecure-RequestsUser-AgentUser-Agent: FirefoxVaryViaWarningWWW-AuthenticateX-Content-Type-OptionsX-DNS-Prefetch-ControlX-Forwarded-ForX-Forwarded-HostX-Forwarded-ProtoX-Frame-OptionsX-XSS-ProtectionMethodsCONNECTDELETEGETHEADMethodsOPTIONSPATCHPOSTPUTStatus100 Continue101 Switching Protocols200 OK201 Created202 Accepted203 Non-Authoritative Information204 No Content205 Reset Content206 Partial Content300 Multiple Choices301 Moved Permanently302 Found303 See Other304 Not Modified307 Temporary Redirect308 Permanent Redirect400 Bad Request401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed406 Not Acceptable407 Proxy Authentication Required408 Request Timeout409 Conflict410 Gone411 Length Required412 Precondition Failed413 Payload Too Large414 URI Too Long415 Unsupported Media Type416 Range Not Satisfiable417 Expectation Failed426 Upgrade Required428 Precondition Required429 Too Many Requests431 Request Header Fields Too Large451 Unavailable For Legal Reasons500 Internal Server Error501 Not Implemented502 Bad Gateway503 Service Unavailable504 Gateway Timeout505 HTTP Version Not Supported511 Network Authentication RequiredStatus
文字

Transfer-Encoding头指定用于将安全地传输编码的形式的实体提供给用户。

Transfer-Encoding是一种逐跳报头,即应用于两个节点之间的消息,而不是资源本身。多节点连接的每个段可以使用不同的Transfer-Encoding值。如果要在整个连接上压缩数据,请改为使用端到端标Content-Encoding头。

当出现在对HEAD没有主体的请求的响应中时,它指示将应用于相应GET消息的值。

Header type

Response header

Forbidden header name

yes

句法

Transfer-Encoding: chunked
Transfer-Encoding: compress
Transfer-Encoding: deflate
Transfer-Encoding: gzip
Transfer-Encoding: identity// Several values can be listed, separated by a commaTransfer-Encoding: gzip, chunked

指令

chunked数据以一系列块的形式发送。该Content-Length标题省略在这种情况下,并在每个需要添加十六进制格式的当前块的长度,其次是块“的开始\r\n”,然后是块本身,紧接着又“ \r\n”。终止块是一个常规块,除长度为零外。其后是拖车,它由一个(可能是空的)实体标题字段序列组成。compress使用 Lempel-Ziv-Welch(LZW)算法的格式。值名取自实施此算法的 UNIX 压缩程序。

与大多数 UNIX 发行版已经消失的压缩程序一样,目前几乎没有浏览器使用这种内容编码,部分原因是由于专利问题(已在2 003年过期)。deflate使用 deflate 压缩算法(在RFC 1951中定义)使用zlib结构(在RFC 1950中定义)。一种使用Lempel-Ziv编码(LZ77)和32位 CRC  的格式。这最初是 UNIX gzip 程序的格式。为了兼容性的目的,HTTP / 1.1 标准还建议支持该内容编码的服务器应该将其识别为别名。gzipx-gzipidentity指示身份功能(即不压缩,也不修改)。除非明确指定,否则此标记始终被视为可接受。

例子

分块编码

当大量数据发送到客户端时,分块编码非常有用,并且在请求完全处理之前可能不知道响应的总大小。例如,生成从数据库查询产生的大型 HTML 表格或传输大型图像时。分块的响应如下所示:

HTTP/1.1 200 OK 
Content-Type: text/plain 
Transfer-Encoding: chunked7\r\n
Mozilla\r\n 
9\r\n
Developer\r\n7\r\n
Network\r\n0\r\n 
\r\n

产品规格

Specification

Title

RFC 7230, section 3.3.1: Transfer-Encoding

Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

浏览器兼容性

Feature

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

上一篇:下一篇: