[Node.js] 01. HTTP Header, Body
HTTP 구조
HTTP(Hyper Text Transport Protocol)통신을 사용하면 클라이언트와 서버간
2가지 유형의 메세지(HTTP Request, HTTP Response) 전송 가능.

HTTP Header
HTTP 헤더(header)는 HTTP 본문(body) 및 req/res에 대한 정보를 포함 req/res에 대한 정보는 req/res에 대한 일반 정보를 포함(ex. 요청 시간, 요청에 사용된 브라우저 등) 헤더의 프로퍼티는 이름-값(Name-Value) 쌍으로 설정, 콜론(:)으로 구분.
- ex) 이름 : 값
HTTP Header 유형
HTTP 1.1의 헤더는 4부분으로 나눠짐
- General Header (공통 헤더)
- Request Header (요청 헤더)
- Response Header (응답 헤더)
- Entity Header (엔티티 헤더) : 요청 헤더랑 응답 헤더에 포함되어 있는거 같다
General Header(공통 헤더)
요청과 응답 모두에 적용되지만 바디에서 최종적으로 전송되는 데이터와는 관련이 없는 헤더
► General Header
┣━ Request URL : 현재 페이지 주소
┣━ Request Method : 요청 종류
┣━ Status Code : Http 상태코드
┣━ Remote Address : 접속자 IP 주소 (보안 주의!)
┣━ Referrer Policy :
Request Header(요청 헤더)
웹 브라우저(클라이언트)가 웹서버에게 요청한 데이터.
► Request Header (view source)
┣━ GET / HTTP/1.1 : 요청 행(request line)
┣━ Host : 웹서버 주소
┣━ Connection : 전송완료후 네트워크 접속 유지할지말지 제어 (keep-alive: 연결지속)
┣━ sec-ch-ua :
┣━ sec-ch-ua-mobile :
┣━ sec-ch-ua-platform :
┣━ User-Agent : 요청하는 웹브라우저, OS 등 정보
┣━ Accept :
┣━ Accept-Encoding : 압축 지원 포멧
┣━ Accept-Language : 언어 지원
┣━ If-Modified-Since : 해당 파일을 언제 다운받았는지
Response Header(응답 헤더)
웹서버가 웹 브라우저(클라이언트)에게 응답한 데이터.
► Response Header (view source)
┣━ HTTP/1.1 200 OK : 요청 행(request line)
┣━ X-Powered-By : 웹서버 주소
┣━ Content-Type : 리소스의 Media Type 명시 ex) text/html
┣━ Content-Length : 접속자 IP 주소 (보안 주의!)
┣━ Last-Modified :
┣━ ETag : 특정 버전의 리소스를 식별하는 식별자
┣━ Date : 메세지가 만들어진 날짜, 시간
┣━ Connection : 전송완료후 네트워크 접속 유지할지말지 제어 (keep-alive: 연결지속)
┣━ Keep-Alive : 타임아웃, 요청 최대 개수 ex) timeout=5, max=1000