HTTP(HyperText Transfer Protocol)
- 웹 상에서 정보를 전송하기 위한 통신 프로토콜
- HTML 과 같은 문서를 전송할 때 사용
- 서버-클라이언트 모델을 따르며, request/response 구조로 웹 상에서 정보를 주고 받을 수 있음
- Connectionless / Stateless
- 단순함, 확장 가능
무상태 (Stateless)
- 클라이언트의 이전 상태를 보존하지 않음
- 상대는 문맥을 파악하지 못한 채 대화
- 단 상태를 보관하지 않아도 되므로, 클라이언트 요청에 어느 서버가 응답해도 상관 없음
비연결성(Connectionless)
- 클라이언트가 서버에 요청을 요청을 하고 응답을 받으면 TCP/IP 연결을 끊어 유지 하지 않음
- 서버의 자원을 효율적 관리 및 수 많은 클라이언트 요청에 대응 가능
- 단, 연결 시 3-way handshake로 인한 시간이 소요
- HTML 뿐 아니라 JS, CSS, Img 등의 자원들도 함께 다운로드
무상태 / 비연결성 해결법
HTTP 메시지
구성
start-line 시작 라인
header 헤더
empty line 공백 라인(CRLF, 필수)
message body
요청 메시지 예시
응답 메시지 예시
출처
https://velog.io/@duarufp06/HTTP-Stateless-Connectionless-HTTP-메시지-개념