Skip to content

Latest commit

 

History

History
70 lines (43 loc) · 4.05 KB

File metadata and controls

70 lines (43 loc) · 4.05 KB

🏠 두번째 모임


OOO 님이 생각하는 HTTP Header 는 ?

YHJ : 메타정보로써 통신을 돕기 위한 수단, Entity(Body)의 정보에 대한 메타정보를 알려주거나 클라잉너트-서버 간의 통신을 제어하기 위한 정보를 제공한다.
KYS : 페이로드를 효율적으로 파싱하기 위한 정보들. stateless 인 HTTP에 상태를 부여하기 위해 사용될 수도 있따.
CHH : OSI 계층에서 프로토콜이라면 Header와 Body를 기본적인 구조를 갖는다. HTTP Header는 Body에 대한 메타 정보들을 가지고 있으며, RFC에 기재된 기본적인 헤더뿐만 아니라 커스텀 헤더를 통해서 통신을 제어할 수 있다.
KDH : HTTP 헤더는 요청 & 응답을 해석하기 위한 추가 정보를 제공한다. header에는 0줄 이상이 포함된다. (꼭 필수는 아닌 것 같음) 하지만 header가 왜 꼭 필요한지에 대해 고민해봤을 때, header가 없는 요청 & 응답을 받은 server나 client가 소비되는 리소스가 많아지기 때문이 아닐까라는 생각이 들었다. (header가 없는 요청or응답을 읽을 때, 해당 메시지를 해석하는 리소스) 🤔
KDH : 클라이언트와 서버간의 통신을 위한 필수적인 정보들을 Header를 통해 주고 받는다. 단순한 통신을 위한 정보뿐만 아니라 주고 받는 엔티티에 관한 정보, 프록시, 보안 등 부가적인 정보를 담을 수 있다.
JMS : HTTP 헤더는 HTTP 메시지의 구성요소 중 하나로 클라이언트와 서버 간의 request,response를 처리하기 위해 다양한 정보를 제공한다.
HSM : 우선 HTTP의 포맷은 시작줄, 헤더, 본문으로 구성된다. 이중 헤더는 크게 보면 공통, 요청, 응답 3부분으로 구분된다. 헤더를 각 용도에 맞춰 사용하면 표준화된 처리가 가능하고 (캐시 컨트롤, 압축포맷 타입 정보 등이 담긴 헤더 정보를 활용해 처리한다면)성능을 향상시킬 수도 있다.

스터디 진행 내용

  1. 첫 번째 과제 공유

  2. 재밌거나 신기하거나 어려웠거나

  3. HTTP RequestLine

  • REST ?
  1. HTTP Header

HTTP Header 무엇?

Header 의 종류

일반 헤더(General Headers)

클라이언트와 서버를 가지리 않고 다양한 목적으로 사용하는 헤더

요청 헤더(Request Headers)

요청 메시지에서만 의미를 갖는 헤더
서버는 요청 헤더를 이용해 클라이언트에게 더 나은 응답을 줄 수 있다

Accept 관련 헤더, 조건부 요청 헤더, 요청 보안 헤더, 프락시 요청 헤더

응답 헤더(Response Headers)

클라이언트에게 부가 정보를 제공하는 헤더

엔티티 헤더(Entity Headers)

엔티티(본문/body)에 대해 정보를 알려주는 헤더
요청과 응답 모두 엔티티를 포함하므로 클라이언트와 서버 모두에게 나타날 수 있다.

확장 헤더(Extension Headers)

애플리케이션 개발자들에 의해 만들어지지만 명세에 승인되지 않은 비표준 헤더

Http Header 왜 사용 ?

요청과 응답 메시지는 Start Line 과 Header, Entity 로 나뉜다. 이렇게 나누는 이유는 각각의 역할을 담당하기 위해서인데 Header 는 Entity 와 통신에 대한 정보를 제공함으로써 클라이언트와 서버가 서로를 주고받는 내용과 통신 방법에 대해 좀 더 잘 이해하도록 돕는다.

Http Header 어떻게 써보지 ?

Content-Type 과 Redirect, Cookie 를 이용해서 클라이언트와 서버를 구현해봄으로써 현실적인 사용 방법을 고찰해본다.

😠 두번째 과제

작업하면서 토의하거나 궁금한게 있다면 Issues 에 꼭 등록해주세요 !!

  1. HTTP Header 구현해보기 (참고 RFC-2616)
Header 로 사용할 수 있는 필드 중 일부를 사용해 실제로 클라이언트와 서버를 구현해본다.

예: Content-type, Redirect, Cookie/Set-Cookie