DevGang
[WEB] HTTP 본문
HTTP(HyperText Transfer Protocol) 역사
- HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더 x
- HTTP/1.0 1996년: 메서드, 헤더 추가
- HTTP/1.1 1997년: 가장 많이 사용 / RFC2068(97) > RFC2616(99) > RFC7230~7235(14)
- HTTP/2 2015년: 성능 개선
- HTTP/3 진행 중: TCP 대신에 UDP 사용, 성능 개선
기반 프로토콜
- TCP : HTTP/1.1, HTTP/2
- UDP : HTTP/3
HTTP 특징
1. 클라이언트 서버 구조
- Request Response 구조
- 클라이언트는 서버에 요청을 보내고, 응답을 대기
- 서버가 요청에 대한 결과를 만들어서 응답
2. 무상태(Stateless)
- 서버가 클라이언트의 상태를 보존 x
- 장점 - 서버 확장성 높음(스케일 아웃)
- 단점 - 클라이언트가 추가 데이터 전송
- 상태 유지는 최소한만 사용한다. ( ex: 로그인)
- 일반적으로 브라우저 쿠키와 서버 세션 등을 사용해서 상태 유지
3. 비연결성(Connectionless)
- HTTP는 기본이 연결을 유지하지 않는 모델
- 일반적으로 초 단위 이하의 빠른 속도로 응답
- 서버 자원을 매우 효율적으로 사용할 수 있음
- 단점 - TCP/IP 연결을 새로 맺어야 함 3 way handshake 시간 추가
- 지금은 HTTP 지속 연결(Persistent Connections)로 문제 해결
- HTTP/2, HTTP/3에서 더 많은 최적화
4. HTTP 메시지
인프런 - 모든 개발자를 위한 HTTP 웹 기본 지식
'Study > WEB' 카테고리의 다른 글
[WEB] 인증 (Authentication) & 인가 (Authorization) (0) | 2021.10.25 |
---|---|
[WEB] WS(Web Server) vs WAS(Web Application Server) (0) | 2021.07.14 |
[WEB] SOAP(Simple Object Access Protocol) (0) | 2021.06.01 |
[WEB] XML, JSON (0) | 2021.04.11 |
[WEB] URI (0) | 2021.02.17 |
Comments