
GET /test.html HTTP/1.1
[HTTP Method] [Request target] [HTTP version]
HTTP method는 요청의 의도를 담고 있는 GET, POST, PUT, DELETE 등이 있습니다.
Request target은 HTTP Request가 전송되는 목표 주소입니다.
HTTP version은 version에 따라 Request 메시지 구조나 데이터가 다를 수 있어서 version을 명시합니다.
해당 request에 대한 추가 정보(addtional information)를 담고 있는 부분
HTTP Request가 전송하는 데이터를 담고 있는 부분
전송하는 데이터가 없다면 비어있을 수 있다.
나는 3가지 모두 중요하다고 생각한다. 왜냐하면 세가지 모두 응답을 받기위한 필수적인 요소이기 때문이다. 하나라도 잘못되면 요청이 제대로 가지 않아서 원하는 응답을 받을 수 없다.

example)
HTTP/1.1 200 OK
Date: Sat, 09 Oct 2023 14:28:02 GMT
Server: Apache
Content-Type: text/html
<html>
...
</html>
HTTP 버전 정보와 상태 코드

브라우저가 필요한 정보 전달
브라우저가 요청한 데이터
구조에 나와있는 3가지 모두 주요 요소라고 생각한다.
Request가 실패했는지, 성공했는지 알아야 할 필요성이 있고, Headers를 통해 브라우저가 필요한 정보를 전달해야 CORS 등 문제 없이 Body의 요청 데이터를 브라우저에 올바르게 띄울 수 있다.