4. Transfer codings
์ ์ก ์ฝ๋ฉ(Transfer coding) ์ด๋ฆ์ ๋คํธ์ํฌ๋ฅผ ํตํด "safe transport" ์ ๋ณด์ฅํ๊ธฐ ์ํด ํ์ด ๋ก๋ ๋ณธ๋ฌธ์ ์ ์ฉ ๋์๊ฑฐ๋ ์ ์ฉ๋์ด์ผ ํ๊ฑฐ๋ ์ ์ฉ๋์ด์ผ ํ ์ ์๋ ์ธ์ฝ๋ฉ ๋ณํ์ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด๋ ์ ์ก ์ฝ๋ฉ์ด ์ ์ก๋๋ ํํ์ ์์ฑ์ด ์๋๋ผ ๋ฉ์์ง์ ์์ฑ์ด๋ผ๋ ์ ์์ ๋ด์ฉ ์ฝ๋ฉ๊ณผ ๋ค๋ฅด๋ค.
transfer-coding = "chunked" ; Section 4.1 / "compress" ; Section 4.2.1 / "deflate" ; Section 4.2.2 / "gzip" ; Section 4.2.3 / transfer-extension
transfer-extension = token *( OWS ";" OWS transfer-parameter ) transfer-parameter = token BWS "=" BWS ( token / quoted-string )
๋ชจ๋ transfer-coding ์ด๋ฆ์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์ผ๋ฉฐ Section 8.4์ ์ ์๋ HTTP Transfer Coding registry์ ๋ฑ๋กํด์ผ ํ๋ค.
4.1 Chunked Transfer Coding
์์ ์๋ ์ฒญํฌ ๋ถํ ์ ์ก ์ฝ๋ฉ์ ๋ฐ๋์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ๋์ฝ๋ฉ ํ ์ ์์ด์ผ ํ๋ค.(MUST)
4.1.1 Chunk Extensions
์์ ์๋ ์ธ์ํ ์ ์๋ ์ฒญํฌ ํ์ฅ์๋ฅผ ๋ฌด์ํด์ผ ํ๋ค.(MUST)
4.1.2 Chunked Trailer Part
๋ฐ์ ์๋ ๋ฉ์์ง ํ๋ ์ด๋ฐ์ ํ์ํ ํ๋(e.g., Transfer-Encoding ๊ณผ Content-Length), ๋ผ ์ฐํ (e.g., Host), ์์ฒญ ์์ ์ (e.g., [RFC7231]์ Section 5 ์ ์ด์ ์กฐ๊ฑด๋ถ), ๊ถํ (e.g., [RFC7235]์ [RFC6265]๋ฅผ ๋ด๋ผ), ์๋ต ์ ์ด ๋ฐ์ดํฐ (e.g., [RFC7231]์ Section 7.1) ๋ ๋ ํ์ด๋ก๋ ์ฒ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ๊ฒฐ์ ํ๋ ์ง (e.g., Content-Encoding, Content-Type, Content-Range๊ณผ Trailer)๋ฅผ ํฌํจํ๋ ํธ๋ ์ผ๋ฌ๋ฅผ ์์ฑํด์๋ ์ ๋๋ค.(MUST NOT)
4.1.3 Decoding Chunked
4.2 Compression Codings
4.2.1 Compress Coding
โcompressโ ์ฝ๋ฉ์ ๊ณตํต์ ์ผ๋ก ์ ๋์ค ํ์ผ ์์ถ ํ๋ก๊ทธ๋จ โcompressโ๋ก ์์ฐ๋ Lempel-Ziv-Welch (LZW) ์ฝ๋ฉ์ด๋ค. ์์ ์๋ โx-comressโ๋ฅผ โcompressโ๋ก ๋๋ฑํ๊ฒ ๊ฐ์ฃผํด์ผ ํ๋ค.(SHOULD)
4.2.2 Deflate Coding
โdeflateโ ์ฝ๋ฉ์ Lempel-Ziv (LZ77) ์์ถ ์๊ณ ๋ฆฌ์ฆ๊ณผ ํํ๋ง ์ฝ๋ฉ์ ๊ฒฐํฉํ์ฌ ์ฌ์ฉํ๋ โdeflateโ ์์ถ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ํฌํจํ๋ โzlibโ ๋ฐ์ดํฐ ํฌ๋ฉง [RFC1950]์ด๋ค.
4.2.3 Gzip Coding
โgzipโ ์ฝ๋ฉ์ ๊ณตํต์ ์ผ๋ก gzip ํ์ผ ์์ถ ํ๋ก๊ทธ๋จ [RFC1952]์ผ๋ก ์์ฐ๋ LZ77 32๋นํธ Cyclic Redundancy Check (CRC) ์ฝ๋ฉ ์ด๋ค. ์์ ์๋ โx-gzipโ๋ฅผ โgzipโ๋ก ๋๋ฑํ๊ฒ ๊ฐ์ฃผํด์ผ ํ๋ค.(SHOULD)
4.3 TE
โTEโ ํค๋ ํ๋๊ฐ ์์ฒญ์์ ์ด๋ค ์ ์ก ์ฝ๋ฉ์ธ์ง ๋ํ๋ด๋ฉฐ, ์ฒญํฌ ์ธ์, ํด๋ผ์ด์ธํธ๊ฐ ์๋ต์ ์๋ฝ ํ ์ํฅ์ด ์๋์ง ์ฌ๋ถ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฒญํฌ ์ ์ก ์ฝ๋ฉ์ ํธ๋ ์ผ๋ฌ ํ๋๋ฅผ ์์ฉํ ์์ฌ๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ธ๋ค.
ํด๋ผ์ด์ธํธ๋ TE๋ก โchunkedโ ์ ์ก ์ฝ๋ฉ ์ด๋ฆ์ ์ ์กํด์๋ ์ ๋๋ค.(MUST NOT);
HTTP/1.1 ์์ ์๋ ํญ์ ์ฒญํฌ๋ฅผ ํ์ฉํ๋ค.
TE ์ฌ์ฉ์ ์ธ ๊ฐ์ง ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
TE: deflate TE: TE: trailers, deflate;q=0.5
TE ํค๋ ํ๋๋ ๋ฐ๋ก ์ ์ปค๋ฅ์ ์๋ง ์ ์ฉ๋๋ฏ๋ก, TE์ ๋ฐ์ ์๋ TE ํ๋๊ฐ ์๋ฏธ๋ก ์ ์ง์ํ์ง ์๋ ์ค๊ฐ์์ ์ํด ์ ์ก ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด Connection ํค๋ ํ๋(Section 6.1) ๋ด์์ โTEโ ์ปค๋ฅ์ ์ต์ ์ ๋ฐ๋์ ๋ณด๋ด์ผ ํ๋ค. (MUST)
4.4 Trailer
๋ฉ์์ง๊ฐ ์ฒญํฌ ์ ์ก ์ฝ๋ฉ๊ณผ ์ธ์ฝ๋ฉ๋ ๋ฉ์์ง ๋ณธ๋ฌธ์ ํฌํจํ๊ฑฐ๋ ๋ฐ์ ์ ๋ฉ์์ง ๋์ ์๋ ํธ๋ ์ผ๋ฌ ํ๋ ํํ์ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ ์ ํ ๋, ๋ฐ์ ์๋ ๋ฉ์์ง ๋ณธ๋ฌธ ์์ Trailer ํค๋ ํ๋๋ฅผ ์์ฑํ์ฌ ํธ๋ ์ผ๋ฌ์ ์ด๋ค ํ๋๊ฐ ์กด์ฌํ๋์ง ํ์ํด์ผ ํ๋ค. (SHOULD)
Trailer = 1#field-name
Last updated
Was this helpful?