Cookies
쿠기에 대해 알아보기 앞서 HTTP의 stateless 속성에 대해 알아야 한다. HTTP는 stateless의 속성을 가져 사용자의 요청에 대한 기록을 서버에서 저장하지 않는다. 그렇기 때문에 사용자의 행위에 대한 기록을 서버에 남겨, 다음 행위에서 이전 기록을 통해 무언가를 하고자 할 때에 쿠기가 사용된다. Stateless 한 HTTP에서 stateful 한 성격을 구현하는 것이 쿠키이다.
쿠기는 클라이언트가 서버에 접속 시에 서버가 쿠키값을 생성하여 클라이언트에 부여한다. 쿠키 값은 서버에서 생성하여 부여하되, 보관은 클라이언트와 서버 양쪽에서 한다. 클라이언트는 쿠키 값을 받아 저장한 뒤, 동일한 서버에 다시 접속 시에 쿠키값을 같이 전송한다. 이 쿠키값을 가지고 서버는 클라이언트의 행위를 저장하고, 클라이언트가 다음 접속 시에 도움을 준다.
쿠키를 통해 인증, 장바구니, 추천 등의 기능을 제공할 수 있다. 사용자의 활동을 저장해두었다가 다음 접속시에 그것을 읽어와 활용한다. 쿠기는 최대 4KB의 용량을 가지며, 이름, 값, 만료 날짜, 경로 정보 데이터가 들어있다.
하지만 쿠키는 사용자 정보를 수집하여 보안이나 개인 정보 침해에 문제가 발생할 수 있다.
Caches
클라이언트와 서버 통신 상에 Web cahces(proxy server)를 중간에 두어 웹 페이지를 가져오는 시간을 단축할 수 있다. 통신에 걸리는 시간이 오래걸리는 경우 등에 사용되며, 클라이언트가 서버로 요청을 보내는 것이 아닌 proxy server로 요청을 보내고 proxy server가 서버로 요청을 보낸 뒤 응답을 받고 클라이언트로 전송하는 구조이다. 서버 및 클라이언트 두 가지의 역할을 한다.
proxy server는 서버에서 받은 응답을 캐싱해둔 다음, 클라이언트로부터 같은 요청이 들어오면 캐싱해둔 응답을 보냄으로서 비용을 절약할 수 있다. 기간이나 학교 등에서 여러 클라이언트가 동일한 서버에 대해 많은 요청을 보내는 경우 사용된다. 이는 통신에서 access delay 라우터 사이의 전송 지연을 가장 크게 줄여준다.
'IT 지식 > 네트워크(Network)' 카테고리의 다른 글
컴퓨터 네트워크 - E-mail (SMTP, POP3, IMAP) (0) | 2021.11.29 |
---|---|
컴퓨터 네트워크 - FTP (0) | 2021.11.29 |
컴퓨터 네트워크 - Web and HTTP (Application layer) (0) | 2021.11.27 |
컴퓨터 네트워크 - Application layer (0) | 2021.11.10 |
컴퓨터 네트워크 - Security (0) | 2021.11.10 |