전공/네트워크

[네트워크] #7 웹과 HTTP, 웹 캐시 (프록시 서버)

Campus Coder 2023. 10. 17. 21:28
728x90
반응형

목차

  1. Web and HTTP
  2. 웹 캐시 (프록시 서버)

1. Web and HTTP

웹 페이지에는 HTML 파일, 이미지, 오디오 파일 등 다양한 객체들이 존재할 수 있음

웹 페이지는 HTML 파일 기반으로 이루어져 있고 HTML 파일에서 객체들에 참조함

 

HTTP (hypertext transfer protocol)

웹의 응용 계층 프로토콜은 보통 클라이언트/서버 모델을 사용

클라이언트가 HTTP 요청을 보내면 서버가 HTTP 응답을 함

클라이언트의 웹 브라우저는 이 내용을 해석해 사용자에게 보여 줌

 

TCP 사용

  1. 클라이언트가 서버(포트 80)에 대한 TCP 연결(소켓 생성)을 시작함
  2. 서버가 클라이언트의 TCP 연결을 수락
  3. 브라우저(HTTP 클라이언트)와 웹 서버(HTTP 서버) 간에 HTTP 메시지(응용 계층 프로토콜 메시지)를 교환
  4. TCP 연결 종료

 

HTTP는 상태를 저장하지 않음

서버는 과거 클라이언트 요청에 대한 정보를 유지하지 않음

서버/클라이언트가 충돌할 경우, status가 일치하지 않을 수 있음으로 조정 필요

 

HTTP 연결

비 영구 HTTP

  • 각 요청/응답 쌍이 개별 TCP 연결을 통해 전송됨
  • 여러 객체를 다운로드하려면 여러 연결이 필요

  • non-persistent HTTP ressponse time = 2RTT + file transmission time (RTT: 패킷이 클라이언트와 서버를 이동하는 시간)
  • 객체당 2개의 RTT 필요
  • 각 TCP 연결에 대한 OS 오버헤드
  • 브라우저는 참조된 객체를 가져오기 위해 종종 TCP 병렬연결

 

영구 HTTP

  • 각 요청/응답 쌍이 동일한 TCP 연결을 통해 개별 전송됨
  • 클라이언트와 서버 간 단일 TCP 연결을 통해 여러 객체 전송 가능
  • 참조된 모든 객체에 대해 하나의 RTT

 

HTTP request/response message

요청 메시지 표춘 형식 / 응답 메시지 표준 형식

status code (응답 메시지 첫 줄)

  • 200 OK - 요청 성공, 요청된 객체는 이 메시지 뒤에 존재
  • 301 Moved Permanently - 요청된 객체가 이동, 이 메시지 뒤에 새 위치 지정
  • 400 Bad Request - 서버가 요청 메시지를 이해하지 못함
  • 404 Not Found - 요청한 문서가 서버에 존재하지 않음
  • 505 - HTTP 버전 지원 안 함

 

Cookies

쿠키

서버가 사용자 접근을 제한하거나 컨텐츠를 제공 가능하게 함

웹 사이트가 쿠키를 통해 사용자를 식별

사이트에서 사용자를 추적할 수 있도록 

 

쿠키 구성요소

  • HTTP 응답 메시지의 쿠키 헤더 줄
  • HTTP 요청 메시지의 쿠키 해더 줄
  • 사용자의 엔드 시스템에 보관되고 사용자의 브라우저에 의해 관리되는 쿠키 파일
  • 웹사이트의 백엔드 데이터베이스

 


2. 웹 캐시 (프록시 서버)

웹 캐시: 오리진 웹 서버를 대신하여 HTTP 요청을 만족시키는 네트워크 엔티티

웹 캐시는 클라이언트 요청에 대한 응답 시간을 상당히 단축 시킴

웹 캐시는 기관의 인터넷 접속 링크의 트래픽을 상당히 줄임

원래라면 15Mbps access link의 속도를 높여야 성능이 좋아지지만 비용이 너무 많이 듦

 100Mbps의 대역폭을 지원하는 LAN에 프록시 서버를 존재

→ 캐시가 히트(웹 캐시가 요청받은 데이터를 가지고 있음)하면 LAN 안에서 100Mbps의 대역폭으로 데이터를 보낼 수 있기 때문에 성능 향상

728x90
반응형