[CS:통신]HTTP

god1hyuk·2022년 8월 11일
1

CS

목록 보기
11/13
post-thumbnail

1. HTTP 정의

HTTP(Hypertext Transfer Protocol)는 웹상에서 데이터를 주고 받기 위한 서버(Server)/클라이언트(Client) 모델을 따르는 프로토콜(Protocol)

애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다.

  • HTTP는 어떤 종류의 데이터든지 전송할 수 있도록 설계
  • HTTP로 보낼 수 있는 데이터
    - HTML문서
    • 이미지
    • 동영상
    • 오디오
    • 텍스트 문서
      ...
  • 하이퍼텍스트(Hypertext)기반으로 데이터를 전송하겠다(Transfer)는 의미

2. HTTP 작동 방식

  • HTTP는 서버(Server)/클라이언트(Client) 모델을 따른다.

  • 클라이언트에서 요청(Request)를 보내면 서버는 요청을 처리해서 응답(Response)

  • 웹서버는 보통 표준포트인 80번 포트로 서비스


3. Connectionless & Stateless

  • HTTP는 Connectionless 방식으로 작동
  • 서버 연결 시, 요청(Request) 후 응답(Response)을 받으면 연결 해제
    - HTTP는 상태를 기억하지 않음 = Stateless)
  • 기본적으로 자원 하나에 대해 하나의 연결을 함

3-1. 장점

  • 불특정 다수를 대상으로 서비스 하기에 적합한 방식
  • 수많은 사람이 웹 서비스를 사용하더라도 접속유지는 최소한으로 할 수 있기 때문에, 더 많은 유저의 요청 가능

3-2. 단점

  • 응답 즉시 연결을 종료 하기 때문에, 클라이언트의 이전 상태를 알 수 없음 (Stateless)
  • Stateless : Connectionless로 부터 파생되는 특징
  • 클라이언트가 과거에 로그인을 성공하더라도 로그 정보를 유지할 수가 없음
    (HTTP는 Cookie를 이용해서 이 문제를 해결)
    - Cookie : 클라이언트와 서버의 상태 정보를 담고 있는 정보조각

0개의 댓글