728x90
반응형
1. Web and HTTP
웹 페이지에는 HTML 파일, 이미지, 오디오 파일 등 다양한 객체들이 존재할 수 있음
웹 페이지는 HTML 파일 기반으로 이루어져 있고 HTML 파일에서 객체들에 참조함
HTTP (hypertext transfer protocol)
웹의 응용 계층 프로토콜은 보통 클라이언트/서버 모델을 사용
클라이언트가 HTTP 요청을 보내면 서버가 HTTP 응답을 함
클라이언트의 웹 브라우저는 이 내용을 해석해 사용자에게 보여 줌
TCP 사용
- 클라이언트가 서버(포트 80)에 대한 TCP 연결(소켓 생성)을 시작함
- 서버가 클라이언트의 TCP 연결을 수락
- 브라우저(HTTP 클라이언트)와 웹 서버(HTTP 서버) 간에 HTTP 메시지(응용 계층 프로토콜 메시지)를 교환
- 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
반응형
'전공 > 네트워크' 카테고리의 다른 글
[네트워크] #9 소켓 프로그래밍 (TCP, UDP) (0) | 2023.10.17 |
---|---|
[네트워크] #8 전자 메일 (SMTP, 메일 전송 프로토콜) (0) | 2023.10.17 |
[네트워크] #6 네트워크 응용 원칙 (애플리케이션 아키텍쳐, 응용 계층 프로토콜) (0) | 2023.10.17 |
[네트워크] #5 성능 (손실, 지연, 처리량) (0) | 2023.10.17 |
[네트워크] #4 네트워크 코어 (패킷/서킷 스위칭, 인터넷 구조) (0) | 2023.10.17 |