HTTP
응답 인코딩 및 압축
수색…
HTTP 압축
HTTP 메시지 본문은 압축 될 수 있습니다 (HTTP / 1.1 이후). 서버가 요청을 압축하고 Content-Encoding
헤더를 추가하거나 프록시가 Transfer-Encoding
헤더를 추가하거나 추가합니다.
클라이언트는 받아들이는 인코딩을 나타내는 Accept-Encoding
요청 헤더를 보낼 수 있습니다.
가장 일반적으로 사용되는 인코딩은 다음과 같습니다.
- "gzip"파일의 압축 프로그램 ( RFC1952 )에서 CRC32 체크섬을 구현 한 gzip - deflate 알고리즘 (LZ77)
- deflate - "zlib"데이터 형식 ( RFC1950 ), deflate 알고리즘 (hybrid LZ77 및 Huffman)과 Adler32 체크섬
여러 가지 압축 방법
HTTP 응답 메시지 본문을 두 번 이상 압축 할 수 있습니다. 인코딩 이름은 적용된 순서대로 쉼표로 구분해야합니다. 예를 들어, deflate를 통해 메시지를 압축 한 다음 gzip을 사용하면 헤더가 다음과 같이 표시됩니다.
Content-Encoding: deflate, gzip
권장되지는 않지만 여러 Content-Encoding
헤더도 유효합니다.
Content-Encoding: deflate
Content-Encoding: gzip
gzip 압축
클라이언트는 먼저 gzip을 지원한다는 것을 나타내는 Accept-Encoding
헤더가있는 요청을 보냅니다.
GET / HTTP/1.1\r\n
Host: www.google.com\r\n
Accept-Encoding: gzip, deflate\r\n
\r\n
그런 다음 서버는 압축 된 응답 본문과 gzip 인코딩이 사용되었음을 지정하는 Content-Encoding
헤더를 사용하여 응답을 보낼 수 있습니다.
HTTP/1.1 200 OK\r\n
Content-Encoding: gzip\r\n
Content-Length: XX\r\n
\r\n
... compressed content ...
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow