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
- TCP 연결이 열렸습니다.
- TCP 연결을 통해 최대 하나의 개체 전송
- TCP 연결 종료
여러 객체를 다운로드하려면 여러 연결이 필요함
Persistent HTTP
- server에 TCP 연결이 열림
- client와 해당 server 간의 단일 TCP 연결을 통해 여러 개체를 보낼 수 있습니다.
- 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
'컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 Week 6-1 : HTTP, E-mail (0) | 2020.10.12 |
---|---|
컴퓨터 네트워크 Week 5-1 : (0) | 2020.10.04 |
컴퓨터 네트워크 Week 4-1 : Principles of network applications (0) | 2020.09.22 |
컴퓨터 네트워크 Week 3-2 : Performance, Security, Protocol layers, service models (0) | 2020.09.21 |
컴퓨터 네트워크 Week 3-1 : packet/circuit switching, internet structure (0) | 2020.09.21 |