Web Dev/7. 네트워크
HTTP 완벽 가이드 15장 엔터티와 인코딩
hYhY1234
2021. 2. 28. 15:56
728x90
- HTTP는 매일 수십억 개의 미디어 객체를 나른다
- 메시지는 컨테이너, 엔터티는 화물
- HTTP메시지를 인터넷 운송 시스템의 컨테이너라고 생각한다면, HTTP 엔터티는 메시지의 실질적인 화물이다
- 엔터티 본문:
- 엔터티 본문은 가공되지 않은 데이터만을 담고 있다. 다른 정보들은 모두 헤더에 담겨있다. 엔터티 본문은 가공되지 않은 날 데이터에 불과하기 때문에 엔터티 헤더는 그 데이터의 의미에 대해 설명할 필요가 있다.
- MIME 타입
- 전달되는 데이터 매체의 기저형식(HTML 파일, 마이크로소프트 워드 문서, MPEG 비디오)의 표준화된 이름이다
- Content-Type의 값은 인터넷 할당 번호 관리기간에 등록된 표준화된 MIME 타입이다
- 주미디어타입(텍스트, 이미지, 오디오 등) / 더 구체적으로 서술하는 부타입(subtype) 으로 구성
- 텍스트 매체를 위한 문자 인코딩
- Content-type: text/html; charset=utf-8
- 위의 방식으로 엔터티의 비트 집합을 텍스트 파일의 글자들로 변환하기 위해 charset매개 변수를 사용한다
- 멀티파트 폼 제출
- HTTP 폼을 채워서 제출하면, 가변 길이 텍스트 필드와 업로드 될 객체는 각각이 멀티파트본문을 구성하는 하나의 파트가 되어 보내진다
- developer.mozilla.org/en-US/docs/Web/HTML/Element/form
- Accept-Encoding 헤더
- 클라이언트가 해독할 수 없는 방법으로 서버가 콘텐츠를 인코딩하는 것을 막기위해, 서버에서 클라이언트가 지원하는 인코딩의 목록을 Accept-Encoding 요청 헤더를 통해 전달한다
- 전송인코딩
- 청크인코딩은 메시지를 일정 크기의 청크 여럿으로 쪼갠다. 서버는 각 청크를 순차적으로 보내고, 메시지를 보내기 전에 전체크기를 알필요가 없다. 전송 인코딩의 한 형태이다.
- developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding
Transfer-Encoding - HTTP | MDN
The Transfer-Encoding header specifies the form of encoding used to safely transfer the payload body to the user. HTTP/2 doesn't support HTTP 1.1's chunked transfer encoding mechanism, as it provides its own, more efficient, mechanisms for data streaming.
developer.mozilla.org
- cache-control 헤더: developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
Cache-Control - HTTP | MDN
Caching directives have the following rules to be valid: Case-insensitive, but lowercase is recommended. Multiple directives are comma-separated. Some directives have an optional argument, which can be either a token or a quoted-string. (See spec for defin
developer.mozilla.org