[CS] HTTP란?

Dolmaro·2024년 1월 24일
0

CS

목록 보기
1/2

HTTP란?

HTTP란 HyperText Transfer Protocol로써, 클라이언트와 서버 간 HTML과 같은 HyperText를 주고 받기 위한 TCP/IP 기반 애플리케이션 계층 통신 프로토콜이다.

클라이언트는 HTTP 요청을 보내고, 서버는 요청에 대한 정보를 클라이언트에게 응답한다.

HTTP의 비연결성

클라이언트에서 서버로 요청을 보낸 후, 서버로부터 응답을 받으면 연결을 유지하지 않고, 연결을 끊는 것을 의미한다.

  • 서버 입장에서는 접속 유지를 위한 요구가 적어짐으로, 불특정 다수를 대상으로 하는 서비스에 적합하다.
  • 연결을 유지하지 않기에, 동일한 클라이언트에서 연속적인 요청이 온다면 연결과 연결 해제 과정을 반복하게 되어 자원 낭비가 발생한다.
  • HTTP 1.1 부터 keep-alive를 지원하여, 마지막 응답 이후 일정 시간 동안 연결을 유지하여, 동일한 클라이언트로부터 요청이 와도 연결을 다시 맺지 않아도 된다.

HTTP의 무상태성

HTTP는 상태를 저장하지 않는 특징이 있다.

  • 서버에서 클라이언트의 상태를 저장하지 않는다.
  • 클라이언트가 이전의 요청한 사항을 서버는 기록하지 않는다.
  • 클라이언트가 요청에 필요한 데이터를 모두 갖고 있어야 하거나 (쿠키), 서버가 클라이언트로 받은 요청 정보를 모두 저장해야한다 (세션).

0개의 댓글