HTTP Request

요청은 “무엇을 어떻게 해 달라”는 메시지다

클라이언트는 시작 줄에서 메서드와 대상 리소스를 정하고, 필드로 조건과 메타데이터를 붙입니다. POST, PUT, PATCH처럼 표현 데이터를 보낼 때는 빈 줄 뒤에 본문이 옵니다.

Request line: method + request target + HTTP version
Field section: Host, Accept, Authorization, Content-Type 등
GET 본문은 일반 의미가 정의되어 있지 않아 피하는 편이 안전합니다.
GET example

조회 요청

startGET /search?q=network HTTP/1.1
fieldHost: andongmin.com
fieldAccept: text/html
blankCRLF
content보통 없음
POST example

본문 있는 요청

startPOST /api/users HTTP/1.1
fieldContent-Type: application/json
fieldAuthorization: Bearer ...
blankCRLF
content{"name":"홍길동"}
Method서버에 원하는 동작을 표현합니다.
Request target경로, 쿼리, authority 등 대상 식별 정보를 담습니다.
Fields인증, 캐시, 콘텐츠 협상 같은 메타데이터를 전달합니다.