[Web] HTTP란 무엇인가

2022. 4. 15. 23:16Dev/CS

📌 HTTP란?

HyperText Transfer Protocol의 약어로 인터넷에서 데이터를 주고받을 수 있게 하는 프로토콜이다. 요즘은 HTTP 메세지에 모든 것을 전송 가능하다.

  • HTML, TEXT
  • IMAGE, 음성, 영상, 파일
  • JSON, XML(API)
  • 거의 모든 형태의 데이터 전송 가능

 

📌 역사

  • HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X
  • HTTP/1.0 1996년: 메서드, 헤더 추가
  • HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전
    • RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014)
  • HTTP/2 2015년: 성능 개선
  • HTTP/3 진행중: TCP 대신에 UDP 사용, 성능 개선

 

📌 기반 프로토콜

  • TCP: HTTP/1.1, HTTP/2
  • UDP: HTTP/3
  • 현재 HTTP/1.1 주로 사용
    • HTTP/2, HTTP/3 도 점점 증가

 

📌 특징

  • 클라이언트 서버 구조
  • 무상태 프로토콜(stateless), 비연결성
  • HTTP 메시지를 통해서 통신
  • 단순함, 확장 가능

 

📌 상태코드

클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능

  • 1xx (Informational): 요청이 수신되어 처리중 → 거의 사용되지 않음
  • 2xx (Successful): 요청 정상 처리
  • 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요
  • 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음
  • 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함

 

 


개인 학습 기록용이기 때문에 오류가 있을 수 있습니다.

양해 부탁드립니다🙂

 

📚 참고

김영한 <모든 개발자를 위한 HTTP 웹 기본 지식>

'Dev > CS' 카테고리의 다른 글

[Web] HTTP Method  (0) 2022.04.16