leeyang의 개발 성장기
Http header를 알아봅시다! 본문
안녕하세요. 리양입니다 :)
HTTP 통신을 많이 사용하고 있는 데, Request 요청할 때 Header에 많은 정보가 있습니다.
그런데 그 많은 정보들을 모르고 사용하고 있는 거 같아, 이번 기회에 정리해볼까 합니다!
공통영역
http는 요청과 응답에 따라 header가 다르지만 둘다 상관없이 공통적인 헤더 부분이 있습니다.
먼저 공통 부분을 볼까요?
Date
- Http 메세지를 생성할 때의 날짜(일시), 자동으로 생성됨(RFC 1123)
ex) Date: Sat, 2 Oct 2018 02:00:12 GMT
Connection
ex) Connection: keep-alive
-
개발자의 영역이 아니다.
-
http는 connection less 방식으로 연결을 매번 끊고 생성의 반복의 작업, 그래서 많은 비용이 소비됨
-
Keep Alive란 연결된 socket에 IN/OUT의 access가 마지막으로 종료된 시점부터 정의된 시간까지 access가 없더라도 대기하는 구조, 즉 정의된 시간내에 access가 이루어진다면 계속 연결된 상태를 유지, time out 내에 requset 재요청시 이미 열려있는 port로 연결
- http2에선 더이상 사용하지 않음
Content-Type
- 해당 개체에 포함되는 미디어 타입 정보, 컨텐츠의 타입(MIME 미디어 타입) 및 문자 인코딩 방식(EUC-KR,UTF-8 등)을 지정. 타입(type): 10개 정도 표준, ex) application, audio, font, image, multipart 등
Content-Language
- 사용자의 언어, 사용자가 한국이면 ko-KR
Content-Encoding
-
컨텐츠 압축 방식, 브라우저가 알아서 해제함
-
br, gzip, deflate 등 이 존재
Content-Length
- 응답과 요청의 메세지 본문크기를 바이트 단위로 측정, 자동으로 만들어 진다.
- 응답 메시지 Body의 길이를 지정하거나 특정 지정된 개체의 길이를 지정한다.
Content-Location
- 해당 개체의 실제 위치를 알려준다.
추후 요청/응답 헤더 업데이트 하겠습니다 :)
출처
https://b.pungjoo.com/entry/HTTP-11-Keep-Alive-기능에-대해
https://tools.ietf.org/html/rfc2616#section-3.2.1
https://gmlwjd9405.github.io/2019/01/28/http-header-types.html
https://www.zerocho.com/category/HTTP/post/5b3ba2d0b3dabd001b53b9db
'컴공기초지식' 카테고리의 다른 글
세마포어 뮤텍스 차이 (0) | 2020.01.01 |
---|---|
프로세스(process)와 스레드(thread) 차이 (0) | 2019.09.25 |