HTTP 프로토콜 정리

Yoojin Jeong·2022년 3월 1일
0

HTTP

  • Hyper-Text Transfer Protocol이라고 부르며 웹을 통해 데이터를 전송하는 데 사용되는 프로토콜이다
  • HTTP는 어떤 종류의 데이터든지 전송할 수 있도록 설계되어 있다
  • HTML로 작성된 문서는 HTTP로 보낼 수 있는 데이터의 한 종류일 뿐이다
  • 이미지, 동영상, 오디오, 텍스트 문서든 종류를 가리지 않음
  • 클라이언트-서버 모델 혹은 프로토콜을 사용한다
  • 클라이언트와 서버들은 개별적인 메세지 교환에 의해 통신한다

HTTP 모니터링

  • 웹 브라우저가 웹 서버에게 요청하면 HTTP 프록시가 그 요청을 받아서 서버에 전달
  • 서버에 응답이 오면 HTTP 프록시가 그 응답을 받아 웹 브라우저에게 전달

프록시 (Proxy Server)

  • 프록시 서버는 클라이언트와 서버 사이에서 통신을 중계해주는 컴퓨터나 프로그램

프록시 서버의 주된 용도

  • 빠른 전송을 위하여 서버의 응답 결과를 캐시에 저장해두는 것
    • 클라이언트가 요청한 것이 캐시에 있을 경우 외부 서버에 요청을 전달하지 않고 즉시 캐시에 저장된 내용을 전달하기 때문에 클라이언트는 빠른 응답 결과를 받게 됨
  • 보안
  • 외부로부터 전달되는 데이터를 검사하여 특정 단어가 포함된 자료의 송,수신을 차단하거나 보안 팀에 경고 메세지를 보낼 수 있음

HTTP와 연결

  • 연결은 전송 계층에서 제어되므로 근본적으로 HTTP 영역 밖이다.
  • HTTP는 연결될 수 있도록 하는 근본적인 전송 프로토콜을 요구하지 않는다. 다만 그저 신뢰할 수 있거나 메시지 손실이 없는(최소한의 오류 표시)연결을 요구할 뿐이다.
  • 인터넷 상의 가장 일반적인 두 개의 전송 프로토콜 중에서 TCP는 신뢰할 수 있으며 UDP는 그렇지 않다. 그러므로 HTTP는 연결이 필수는 아니지만 연결 기반인 TCP 표준에 의존한다.

클라이언트가 서버와 통신하고자 할 때, 최종 서버가 됐든 중간 프록시가 됐든 공통과정을 수행한다.

  1. TCP 연결을 연다
  2. HTTP 메시지를 전송한다
  3. 서버에 의해 전송된 응답을 읽어들인다
  4. 연결을 닫거나 다른 요청들을 위해 재사용한다

0개의 댓글