DevGang

[WEB] HTTP 본문

Study/WEB

[WEB] HTTP

별천랑 2021. 6. 8. 17:19

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 메시지 구조
HTTP 요청 메시지 예시(요청도 body 가질 수 있음)
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