Hi there!

I am a student studying computer science.

컴퓨터 네트워크

컴퓨터 네트워크 Week 4-2 : Web and HTTP, Non-persistent, Persistent

만능성구 2020. 10. 4. 08:25
728x90

Web and HTTP

첫째, 간단한 검토…

  • 웹 페이지는 각기 다른 웹 서버에 저장 될 수있는 객체로 구성됩니다. 
  • 객체는 HTML 파일, JPEG 이미지, Java 애플릿, 오디오 파일 등이 될 수 있습니다. 
  • 웹 페이지는 여러 참조된 객체를 포함하는 기본 HTML 파일로 구성되며, 각 개체는 URL로 주소 지정 가능합니다.

HTTP overview

HTTP : hypertext transfer protocol

  • 웹의 애플리케이션 layer 프로토콜
  • client / server 모델 :
    • client : Web 객체를 요청, 수신 (HTTP 프로토콜 사용) 및 "display"하는 브라우저
    • server : Web server는 request에 대한 respond로 객체를 보냅니다 (HTTP 프로토콜 사용).

HTTP uses TCP:

  • client가 server, port 80에 대한 TCP 연결 (소켓 생성)을 시작합니다.
  • server가 client의 TCP 연결을 수락합니다.
  • 브라우저 (HTTP 클라이언트)와 웹 server (HTTP 서버)간에 교환되는 HTTP message(application layer 프로토콜 message)
  • TCP 연결 종료

최신 http v3는 UDP사용가능

HTTP is “stateless”

  • server는 과거 client request에 대한 정보를 유지하지 않습니다.
  • server는 많은 client를 참여시키기를 원한다.
  • 보안상으로

-aside-

"state"를 유지하는 프로토콜은 복잡합니다!

  • 과거 이력 (state)을 유지해야합니다.
  • server / client가 충돌하면 "server"에 대한 views가 일치하지 않을 수 있으므로 조정해야합니다.
  • 충돌 후 server와 client의 새 세션은 0부터 시작된다.

HTTP connections: two types

Non-persistent HTTP

  1. TCP 연결이 열렸습니다.
  2. TCP 연결을 통해 최대 하나의 개체 전송
  3. TCP 연결 종료

여러 객체를 다운로드하려면 여러 연결이 필요함

 

Persistent HTTP

  1. server에 TCP 연결이 열림
  2. client와 해당 server 간의 단일 TCP 연결을 통해 여러 개체를 보낼 수 있습니다.
  3. TCP 연결 종료

보안상의 문제로 Non-persistent HTTP을 더욱 선호,

서비스 요구 사항에 따라 선택한다

Non-persistent HTTP: example

User enters URL: www.someSchool.edu/someDepartment/home.index (텍스트 포함, 10 개의 jpeg 이미지 참조)

Non-persistent HTTP: response time

 

RTT (정의) :은 packet이 client에서 server로 이동하는 데 걸리는 시간 # 왕복시간

HTTP response 시간 (객체 당) :
▪ TCP 연결을 시작하기 위한 하나의 RTT
▪ HTTP 요청에 대한 RTT 1 개와 반환할 HTTP response의 처음 몇 byte
▪ 객체 / 파일 전송 시간

 

 

 

 

 

Non-persistent HTTP response time = 2RTT+ file transmission time

Persistent HTTP (HTTP 1.1)

Non-persistent HTTP issues:

  • 객체 당 2개의 RTT 필요
  • 각 TCP 연결에 대한 OS의 overhead # tcp/ip는 transport layter에서 하므로 운영체제 내부에서 실행
  • 브라우저는 종종 여러 병렬 TCP 연결을 열어 참조된 객체를 병렬로 가져옵니다. # 많은 OS 자원 사용

Persistent HTTP (HTTP1.1):

  • server가 response을 보낸 후 연결을 열어둡니다.
  • 열린 연결을 통해 전송 된 동일한 clinet / server간의 후속 HTTP message
  • cilnet는 참조된 객체를 만나는 즉시 request을 보냅니다.
  • 참조된 모든 객체에 대해 하나의 RTT 만 사용 (response time을 절반으로 단축)
728x90