Tech

Diary

Lecture

About Me

개발중

HTTP 기본

JeongSeulho

2024년 12월 19일

준비중...
클립보드로 복사

HTTP

  • HTML, TEXT, IMAGE, 음성, 영상, 파일, JSON, XML 등 거의 모든 형태의 데이터를 전송할 수 있음

HTTP 버전

  • HTTP/0.9 : GET 메서드만 지원, HTTP 헤더 없음
  • HTTP/1.0 : 메서드, 헤더 추가
  • HTTP/1.1 : 가장 많이 사용
    • RFC2068(1997), RFC2616(1999), RFC7230~7235(2014)에서 업데이트
  • HTTP/2.0 : 성능 개선
  • HTTP/3.0 : UDP 사용, 성능 개선

스테이트리스(Stateless)

  • 장점 : 서버 확장성이 높음(스케일 아웃)
    • 상태 유지를 한다면 한 서비스의 여러 서버간에 정보를 공유해야함 => 서버를 수평 확장하기 어려움
  • 단점 : 클라이언트에서 추가 데이터를 전송해야 함

비연결성(Connectionless)

  • 장점
    • 일반적으로 웹에서는 연속하여 요청을 하지 않는 경우가 많음(HTML 문서를 받아오고 읽고 다시 요청까지 텀이 있음) => 연결을 유지하지 않는 것이 효율적임
  • 단점
    • 연속해서 요청을 한다면 커넥션마다 매번 3-way handshake 과정이 필요함 => Persistent Connection으로 연결을 유지할 시간을 설정(브라우저에서는 일반적으로 6초, 웹서버에서는 이보다 먼저 끊도록 설정 가능)

HTTP 메시지 구조

HTTP 요청 메세지

image

HTTP 응답 메세지

image