웹은 on-demand 방식으로 사용자가 원할 때 원하는 것을 수신한다.
HTTP
: 메시지의 구조 및 클라이언트와 서버가 메시지를 어떻게 교환하는지에 대해 정의하고 있다.
Web page
: 웹 페이지는 기본 HTML 파일과 여러 참조 객체로 구성된다.
비지속(non-persistenct) 연결
: 클라이언트-서버 상호작용이 TCP 상에서 발생할 때 각 요구/응답 쌍이 분리된 TCP 연결을 통해 보내지는 것을 말한다.
연결 수행 과정은 다음과 같다.
- HTTP 클라이언트는 HTTP 기본 포트 80을 통해 서버로 TCP 연결을 시도한다. TCP 연결과 관련하여 클라이언트와 서버에 각각 소켓이 있게 된다.
- HTTP 클라이언트는 설정된 TCP 연결 소켓을 통해 서버로 HTTP 요청 메시지를 보낸다. 이 요청에 객체 경로도 포함된다.
- HTTP 서버는 TCP 연결 소켓을 통해 요청 메시지를 받는다. 저장 장치로부터 경로의 객체를 추출한다.
HTTP 응답 메시지에 그 객체를 캡슐화 하여 소켓을 통해 클라이언트로 보낸다. - HTTP 서버는 TCP에게 연결을 끊으라고 한다.
- HTTP 클라이언트가 응답 메시지를 받으면, TCP 연결이 중단된다. 메시지는 캡슐화된 객체가 HTML 파일인 것을 나타낸다.
클라이언트는 응답 메시지로부터 파일을 추출하고 HTML 파일을 조사하여 10개의 JPEG 객체에 대한 참조를 찾는다. - 참조되는 JPEG 객체에 대해 1 ~ 4단계를 반복한다.
클라이언트가 HTML 파일을 요청하고 그 파일이 클라이언트로 수신될 때까지의 시간을 측정해보자.
이를 위해 RTT를 알아야 하는데,
RTT(round-trip-time)란 작은 패킷이 클라이언트로부터 서버까지 가고, 다시 클라이언트로 되돌아오는 데 걸리는 시간이다.
단점: 각 요청 객체에 대한 새로운 연결이 설정되고 유지되어야 한다, 매번 2RTT를 필요로 한다.
지속(persistent) 연결
: 지속 연결에서 서버는 응답을 보낸 후에 TCP 연결을 그대로 유지한다.
같은 클라이언트와 서버 간의 이후 요청과 응답은 같은 연결을 통해 보내진다.
즉, 같은 서버에 있는 여러 웹 페이지들을 하나의 지속 TCP 연결을 통해 보낼 수 있다.
쿠키(Cookie)
: HTTP 서버는 상태를 유지하지 않는다. 그러나 서버가 사용자 접속을 제한하거나 사용자에 따라 콘텐츠를 제공하기 원하므로 사용자를 확인하는 것이 바람직할 때가 있는데, 이떄 HTTP는 쿠키를 사용한다.
'2-2 학기 > Computer Networking' 카테고리의 다른 글
[컴퓨터네트워크] Ch2.1 네트워크 애플리케이션의 원리 (0) | 2023.09.30 |
---|---|
[컴퓨터네트워크] Ch1.6 공격받는 네트워크 (0) | 2023.09.30 |
[컴퓨터네트워크] Ch1.5 프로토콜 계층과 서비스 모델 (0) | 2023.09.30 |
[컴퓨터네트워크] Ch1.4 패킷 교환 네트워크에서의 지연, 손실과 처리율 (0) | 2023.09.30 |
[컴퓨터네트워크] Ch1.3 네트워크 코어 (0) | 2023.09.30 |