Chapter2.2 웹과 HTTP(2): 메시지, 쿠키, 캐시
- HTTP message format
- 쿠키(cookies)
- 웹 캐싱(Web caching)
HTTP 메시지
- HTTP 메시지
- HTTP Request: Client -> Server
- HTTP Response: Server -> Client
HTTP 요청 메시지 포맷
*ASCII
: Control code/charactor(제어문자) + Graphic code/charactor(그래픽문자)
- HTTP Request
- Methods
- GET: body 정보 없이 객체 요청(필요시 URL에 포함시켜 입력 정보 전달)
ex) www.somesi te.com/animalsearch?monkey&banana - POST: body 입력 정보와 함께 객체 요청(form field로 입력)
- HEAD: 헤더 정보만 요청
- PUT: 파일 업로드
- DELETE: 파일 삭제
HTTP 응답 메시지 포맷
- HTTP Response
- 200 OK : 요청이 성공했고, 정보가 응답으로 보내짐.
L request succeeded, requested object later in this msg - 301 Moved Permanently: 요청 객체가 영원히 이동
L requested object moved, new location specified later in this msg (Location:) - 400 Bad Request: 서버가 요청을 이해할 수 없음(일반 오류 코드)
L request msg not understood by server - 404 Not Found: 요청 문서가 서버에 존재하지 않음.
L requested document not found on this server - 505 HTTP Version Not Supported
웹 쿠키(cookies)
- 쿠키 사용 시나리오
* 웹 브라우저를 유니크하게 표현할 수 있는 숫자(쿠키)를 만들어,
서버에 웹 브라우저의 id와 거기에 해당되는 숫자를 저장해
메세지의 헤드라인으로 추가해서 전달!
* 브라우저가 그 다음 동일한 서버로 접속할 때는
그 서버가 나에게 할당한 쿠키를 달고 request 메세지를 보냄(헤드라인에 포함).
-> 서버는 쿠키를 보고 어떤 브라우저인지, 그 브라우저가 이전에 어떤 행위를 했는지 알 수 있음
(=쿠키는 브라우저에 대한 클라이언트의 상태 정보를 유지할 수 있게 해줌)
- 웹 쿠키 필요성
- 비상태형 HTTP에 상태형 서비스 구현 - 웹 쿠키 응용
- 쇼핑 카트 서비스
- 상품 추천 서비스
- 인증 및 인가 서비스
- 기타 - 프라이버시 문제
- 웹 서버에 개인 정보 노출
웹 캐시(Web Cache): Proxy server)
- 웹 캐시
- 원래의 웹 서버들을 대신하여 HTTP 요청 메세지를 처리하는 중간 서버
- 대상 웹 브라우저의 HTTP 요청 메시지를 웹 캐시로 방향 전환(redirect)
- 웹 캐시에 요청된 객체가 존재하면 웹 브라우저에 전송
- 웹 캐시에 요청된 객체가 존재하지 않으면 웹 캐시가 원래의 웹 서버에 요청 메시지를 보내 응답 메시지를 수신
- 웹 캐시가 웹 서버로부터 수신한 객체를 자신의 서버에 저장하고 웹 브라우저로 전송
- 주로 Enterprise ISP, Residential ISP에 사용
- 웹 캐시 사용의 장점
- 응답 지연시간 단축
- 네트워크 트래픽 감축
- 보안
- 조건부 GET(Conditional GET)
- 요청 메시지 헤더에 지정된 시간 이후에 수정된 객체만 다운로드
- 객체가 웹 캐시에 저장된 이후에 원래의 웹 서버에서 갱신되었는지 확인 가능
- 웹 캐시에 저장된 객체의 최신화에 유용
'CS > 네트워크' 카테고리의 다른 글
[컴퓨터네트워크] Chapter2.4 DNS(Domain Name System) (0) | 2023.10.25 |
---|---|
[컴퓨터네트워크] Chapter2.3 이메일과 SMTP (0) | 2023.10.25 |
[컴퓨터네트워크] Chapter2.2 웹과 HTTP(1): 동작원리와 지속 비지속 연결 (0) | 2023.10.24 |
[컴퓨터네트워크] Chapter2.1 응용계층원리 (0) | 2023.10.11 |
[컴퓨터네트워크] Chapter1.5 네트워크 사이버 공격(Network Attacks) (0) | 2023.10.11 |