Transfer-Encoding
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015å¹´7æâ©.
Transfer-Encoding ãããã¼ã¯ããããã¯ã¼ã¯ä¸ã®ãã¼ãéã§ã¡ãã»ã¼ã¸ã転éããéã«ä½¿ç¨ããã¨ã³ã³ã¼ãæ¹å¼ãæå®ãã¾ãã
è¦å:
HTTP/2 ã§ã¯ãTransfer-Encoding ãããã¼ã®ä½¿ç¨ã¯ãHTTP/2 ã®ç¹å®ã®ä»æ§ã§ãã "trailers" 以å¤ã¯ãã¹ã¦ç¦æ¢ããã¦ãã¾ãã
HTTP/2 以éã§ã¯ããã£ã³ã¯è»¢éãããå¹ççãªãã¼ã¿ã¹ããªã¼ãã³ã°ã®ä»çµã¿ãèªåèªèº«ã§å®ç¾©ãã¦ããããã®ãããã¼ã®ä½¿ç¨ã¯ç¦æ¢ããã¦ãã¾ãã
HTTP/2 ã§ãã®ãããã¼ã使ç¨ããã¨ãHTTP/2 ãããã³ã«ã使ç¨ãç¦æ¢ãã¦ãããããç¹å®ã®ãããã³ã«ã¨ã©ã¼ãçºçããå¯è½æ§ãé«ãã§ãã
Transfer-Encoding ã¯ããããã¤ããããããã¼ã§ããããªã½ã¼ã¹èªä½ã§ã¯ãªããäºã¤ã®ãã¼ãéã®ã¡ãã»ã¼ã¸ã«é©ç¨ããã¾ãã
ãã¼ãéã®ã³ãã¯ã·ã§ã³ãè¤æ°ããå ´åã¯ãããããã®åºéã§ä½¿ç¨ãã Transfer-Encoding ã®å¤ãç°ãªããã¨ãããã¾ãã
ã³ãã¯ã·ã§ã³å
¨ä½ãéãã¦ãã¼ã¿ãå§ç¸®ãããå ´åã¯ã代ããã«ã¨ã³ããã¥ã¨ã³ãã® Content-Encoding ãããã¼ã使ç¨ãã¦ãã ããã
æ¬æã®ãªã HEAD ãªã¯ã¨ã¹ãã«å¯¾ããã¬ã¹ãã³ã¹ã§ä½¿ãããã¨ãã¯ã対å¿ãã GET ã¡ãã»ã¼ã¸ã«é©ç¨ãããã§ãããå¤ã示ãã¾ãã
| ãããã¼ç¨®å¥ | ãªã¯ã¨ã¹ããããã¼, ã¬ã¹ãã³ã¹ãããã¼, ã³ã³ãã³ããããã¼ |
|---|---|
| ç¦æ¢ãªã¯ã¨ã¹ããããã¼ | ã¯ã |
æ§æ
Transfer-Encoding: chunked
Transfer-Encoding: compress
Transfer-Encoding: deflate
Transfer-Encoding: gzip
// ã«ã³ãã§åºåã£ã¦è¤æ°ã®å¤ã並ã¹ããã¨ãã§ãã¾ã
Transfer-Encoding: gzip, chunked
ãã£ã¬ã¯ãã£ã
chunked-
ãã¼ã¿ã¯ãã£ã³ã¯ï¼å¡ï¼ã®é£ç¶ã§éããã¾ãããã®å ´åã¯
Content-Lengthãããã¼ãçç¥ããã¾ããããããã®ãã£ã³ã¯ã®å é ã«ç¾å¨ã®ãã£ã³ã¯ã®é·ãã 16 鲿°ã®å½¢å¼ã§è¿½å ãããã®å¾ã§\r\nãç¶ãããã£ã³ã¯èªä½ãããä¸ã¤ã®\r\nãç¶ãã¾ãã æå¾ã®ãã£ã³ã¯ã¯é常ã®ãã£ã³ã¯ã§ãããé·ãã 0 ã§ããã¨ããç¹ãç°ãªãã¾ãããã®å¾ã«ãä¸é£ã®ã¨ã³ãã£ãã£ã®ãããã¼ãã£ã¼ã«ãï¼ãããã空ï¼ããæããã¬ã¤ã©ã¼ãç¶ãã¾ãã compress-
Lempel-Ziv-Welch (LZW) ã¢ã«ã´ãªãºã ã使ç¨ããå½¢å¼ã§ãããã®å¤ã®ååã¯ãã®ã¢ã«ã´ãªãºã ãå®è£ ãã¦ãã UNIX ã® compress ããã°ã©ã ããæ¡ããã¾ããã ç¹è¨±åé¡ï¼2003 å¹´ã«æéåãï¼ã®å½±é¿ããããå¤ãã® UNIX ãã£ã¹ããªãã¥ã¼ã·ã§ã³ãã compress ããã°ã©ã ãæ¶æ» ããããã«ã仿¥ã§ã¯ãã®ã³ã³ãã³ã符å·åæ¹å¼ã使ç¨ãã¦ãããã©ã¦ã¶ã¼ã¯ã»ã¨ãã©ããã¾ããã
deflate-
zlib æ§é ä½ï¼RFC 1950 ã§å®ç¾©ï¼ã¨ deflate å§ç¸®ã¢ã«ã´ãªãºã ï¼RFC 1951 ã§å®ç¾©ï¼ã使ç¨ãã¾ãã
gzip-
Lempel-Ziv coding (LZ77) 㨠32 ããã CRC ã使ç¨ããå½¢å¼ã§ãã ããã¯å 㯠UNIX ã® gzip ããã°ã©ã ã®å½¢å¼ã§ãã HTTP/1.1 æ¨æºã¯ãäºææ§ã®ããã«ããã®ã³ã³ãã³ã符å·åæ¹å¼ã®å¥åã¨ãã¦
x-gzipãè§£éãããã¨ã«ãµã¼ãã¼ã対å¿ãããã¨ãæ¨å¥¨ãã¦ãã¾ãã
ä¾
>ãã£ã³ã¯åã®ç¬¦å·å
ãã£ã³ã¯åã®ç¬¦å·åã¯ã大éã®ãã¼ã¿ãã¯ã©ã¤ã¢ã³ãã«éãããªã¯ã¨ã¹ããå®äºããã¾ã§ã¬ã¹ãã³ã¹ã®åè¨ã®é·ããåãããªãå ´åã«ä¾¿å©ã§ããä¾ãã°ã巨大㪠HTML ã®è¡¨ããã¼ã¿ãã¼ã¹ã®ã¯ã¨ãªã¼ã®çµæã¨ãã¦ä½æãããã大ããªç»åã転éãããããå ´åãªã©ã§ãããã£ã³ã¯åãããã¬ã¹ãã³ã¹ã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked
7\r\n
Mozilla\r\n
11\r\n
Developer Network\r\n
0\r\n
\r\n
仿§æ¸
| Specification |
|---|
| HTTP/1.1 > # field.transfer-encoding > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
Accept-EncodingContent-EncodingContent-Length- ãã¬ã¤ã©ã¼ã®ä½¿ç¨ãå¶å¾¡ãããããã¼ãã£ã¼ã«ã:
TE(ãªã¯ã¨ã¹ã) ããã³Trailer(ã¬ã¹ãã³ã¹) - ãã£ã³ã¯åããã転éã¨ã³ã³ã¼ãã£ã³ã°