CHH : OSI 계층에서 프로토콜이라면 Header와 Body를 기본적인 구조를 갖는다. HTTP Header는 Body에 대한 메타 정보들을 가지고 있으며, RFC에 기재된 기본적인 헤더뿐만 아니라 커스텀 헤더를 통해서 통신을 제어할 수 있다.
KDH : HTTP 헤더는 요청 & 응답을 해석하기 위한 추가 정보를 제공한다. header에는 0줄 이상이 포함된다. (꼭 필수는 아닌 것 같음) 하지만 header가 왜 꼭 필요한지에 대해 고민해봤을 때, header가 없는 요청 & 응답을 받은 server나 client가 소비되는 리소스가 많아지기 때문이 아닐까라는 생각이 들었다. (header가 없는 요청or응답을 읽을 때, 해당 메시지를 해석하는 리소스) 🤔
KDH : 클라이언트와 서버간의 통신을 위한 필수적인 정보들을 Header를 통해 주고 받는다. 단순한 통신을 위한 정보뿐만 아니라 주고 받는 엔티티에 관한 정보, 프록시, 보안 등 부가적인 정보를 담을 수 있다.
HSM : 우선 HTTP의 포맷은 시작줄, 헤더, 본문으로 구성된다. 이중 헤더는 크게 보면 공통, 요청, 응답 3부분으로 구분된다. 헤더를 각 용도에 맞춰 사용하면 표준화된 처리가 가능하고 (캐시 컨트롤, 압축포맷 타입 정보 등이 담긴 헤더 정보를 활용해 처리한다면)성능을 향상시킬 수도 있다.
-
첫 번째 과제 공유
-
재밌거나 신기하거나 어려웠거나
-
HTTP RequestLine
- REST ?
- HTTP Header
클라이언트와 서버를 가지리 않고 다양한 목적으로 사용하는 헤더
요청 메시지에서만 의미를 갖는 헤더
서버는 요청 헤더를 이용해 클라이언트에게 더 나은 응답을 줄 수 있다
Accept 관련 헤더, 조건부 요청 헤더, 요청 보안 헤더, 프락시 요청 헤더
클라이언트에게 부가 정보를 제공하는 헤더
엔티티(본문/body)에 대해 정보를 알려주는 헤더
요청과 응답 모두 엔티티를 포함하므로 클라이언트와 서버 모두에게 나타날 수 있다.
애플리케이션 개발자들에 의해 만들어지지만 명세에 승인되지 않은 비표준 헤더
요청과 응답 메시지는 Start Line 과 Header, Entity 로 나뉜다. 이렇게 나누는 이유는 각각의 역할을 담당하기 위해서인데 Header 는 Entity 와 통신에 대한 정보를 제공함으로써 클라이언트와 서버가 서로를 주고받는 내용과 통신 방법에 대해 좀 더 잘 이해하도록 돕는다.
Content-Type 과 Redirect, Cookie 를 이용해서 클라이언트와 서버를 구현해봄으로써 현실적인 사용 방법을 고찰해본다.
작업하면서 토의하거나 궁금한게 있다면 Issues 에 꼭 등록해주세요 !!
- HTTP Header 구현해보기 (참고 RFC-2616)
예: Content-type, Redirect, Cookie/Set-Cookie