request / response

HTTP 메시지는 시작 줄, 헤더, 빈 줄, 본문으로 읽는다

HTTP/2와 HTTP/3는 바이너리 프레임을 쓰지만 논리적 의미는 메서드, URI, 상태 코드, 헤더, 본문으로 유지된다.

Request

Start lineGET /api/users HTTP/1.1
HeadersHost, Accept, Authorization
Blank line헤더와 본문 경계
BodyPOST/PUT/PATCH에서 주로 사용

Response

Status lineHTTP/1.1 200 OK
HeadersContent-Type, Cache-Control, Set-Cookie
Blank line메타데이터와 본문 경계
BodyHTML, JSON, 이미지 등 표현 데이터