Computer Network

[컴퓨터 네트워크] 웹과 HTTP(2): 메시지, 쿠키, 캐시

JunsuKim 2022. 9. 25.
728x90

HTTP 메시지

HTTP 요청 메시지 포맷

HTTP Request

  • method: request 메시지를 서버로 보낼 때, 서버로 요청하는 request의 메소드(어떤 서비스를 서버에 요청하는가? ex. 웹 페이지를 업로드할 것인지, 삭제할 것인지 등등)
  • URL: 웹 서버의 어떤 웹 객체를 요청할 것인지에 대한 주소
  • version: HTTP Protocol의 버전
  • header lines: 어떤 요청한 서비스를 서버가 어떻게 처리할 것인지 지시하는 부분
  • body: 어떤 정보를 클라이언트에서 서버로 전달할 때, 그 정보를 담고 있다. 

ASCII

Methods

  • Get: body 정보없이 객체 요청(필요시 URL에 포함시켜 입력 정보 전달)
    www.somesite.com/animalsearch?monkeys&banana
    ? 이전 -> url, ? 이후 -> 웹 브라우저가 웹 서버의 프로그램 객체에게 입력정보로 전달해야 할 정보를 포함
  • Post: body 입력 정보와 함께 객체 요청(form field로 입력)

  • Head: 헤더 정보만 요청
  • PUT: 파일 업로드
  • DELETE: 파일 삭제

HTTP Request example

  • User-Agent -> 웹 브라우저의 종류와 버전을 나타냄
  • Accept: 웹 브라우저가 수용할 수 있는 웹 객체의 포맷들
  • Connection: 지속 연결인지, 비지속 연결인지
    • keep-alive: 웹 객체를 다운로드하고 TCP 연결을 유지해라. -> persistent
    • close: 웹 객체를 다운로드 후에 TCP 연결을 해제해라. -> non-persistent

※ 이 예시에서는 GET을 사용했기에 BODY 정보가 필요없다.

HTTP 응답 메시지 포맷

HTTP Response

HTTP Response example

  • Date: 응답 메시지가 언제 만들어졌는지
  • Server: 서버의 종류와 버전
  • Last-Modified: 웹 객체가 언제 갱신되었는지
  • Content-Length: Object의 길이가 어느 정도인지
  • Content-Type: Object의 타입이 뭔지

HTTP Response example

웹 쿠키

쿠키 사용 시나리오

웹 쿠키 필요성

  • 비상태형 HTTP에 상태형 서비스 구현

웹 쿠키 응용

  • 쇼핑 카트 서비스
  • 상품 추천 서비스
  • 인증 및 인가 서비스
  • 기타

프라이버시 문제

  • 웹 서버에 개인 정보 노출

웹 캐시(Web Cache): Proxy Server

웹 캐시

  • 원래의 웹 서버들을 대신하여 HTTP 요청 메시지를 처리하는 중간 서버
  • 대상 웹 브라우저의 HTTP 요청 메시지를 웹 캐시로 방향 전환(redirect)
  • 웹 캐시에 요청된 객체가 존재하면 웹 브라우저에 전송
  • 웹 캐시에 요청된 객체가 존재하지 않으면 웹 캐시가 원래의 웹 서버에 요청 메시지를 보내 응답 메시지를 수신
  • 웹 캐시가 웹 서버로부터 수신한 객체를 자신의 서버에 저장하고 웹 브라우저로 전송
  • 주로 Enterprise ISP, Residential ISP에 사용

웹 캐시 사용의 장점

  • 응답 지연시간 단축
  • 네트워크 트래픽 감축
  • 보안적으로 좋음

조건부 GET(Conditional GET)

  • 요청 메시지 헤더에 지정된 시간 이후에 수정된 객체만 다운로드
  • 객체가 웹 캐시에 저장된 이후에 원래의 웹 서버에서 갱신되었는지 확인 가능
  • 웹 캐시에 저장된 객체의 최신화에 유용

 

728x90

댓글