
HTTP?
- HyperText Trancfer Protocol
- HTML 문서를 교환하기 위해 만들어진 protocol(통신 규약)입니다.
- TCP/IP 기반으로 되어있습니다.
⭐️ HTTP 통신 방식
- 기본적으로 요청/응답 (request/response) 구조로 되어있습니다.
- HTTP는 상태를 저장하지 않습니다.(Stateless)
- 요청이 오면 응답을 하는 구조로 여러 요청/응답 끼리 연결되어 있지 않습니다.
- 각각의 요청/응답은 독립적입니다.
- 여러 요청/응답의 진행과정이나 데이터가 필요할 때는 쿠키나 세션 등을 사용합니다.
⭐️ 메시지 방식
- 요청(requests)
- 응답(response)
Request 구조

1. Start Line
- HTTP Method
GET, POST , PUT,DELETE,OPTIONS 이 있습니다.
- Path
- 가져오려는 리소스의 경로
- 해당 request가 전송되는 목표 URL.
- Version of protocol
- 서버에 대한 추가 정보를 전달하는 선택적 헤더들
- Key : value 값으로 되어있습니다.
- Accept - Language : Key
- fr : value
3. Body
- 해당 request의 실제 메세지/내용
- Body가 없는 request도 많다.
response 구조

1. Status Line
Response 의 상태를 간략하게 나타내주는 부분입니다.
- HTTP 버전
- Status code
- 응답 상태를 나타내는 코드로 숫자로 표현됩니다.
- Status message
- 상태 코드의 짧은 설명을 나타내는 상태 메시지입니다.
- 요청 헤더와 비슷합니다.
- response에서만 사용되는 header값들이 있습니다.
ex) User-Agent -> Server
3. Body
- 선택 사항입니다. 즉 모든 response에 body가 있지는 않다는 뜻입니다.
- 가져온 리소스가 포함되어 있습니다.