일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 게임 개발
- stride
- OSI 7계층
- polymorphism
- 컴퓨터 네트워크
- MAC
- STCF
- MLFQ
- DP
- 유니티
- protection
- 유스케이스
- DSP
- 메카님
- Security
- unity
- frequency-domain spectrum analysis
- FIFO
- OWASP
- information hiding
- 게임개발
- 운영체제
- Trap
- SJF
- link layer
- Waterfall
- AINCAA
- Unity #Indie Game
- SDLC
- 배경 그림
- Today
- Total
다양한 기록
쿠키, 웹 캐시(프록시) 본문
Cookie
HTTP 프로토콜은 stateless, 상태 정보를 저장하지 않습니다.
그렇기에 필요한 정보가 있다면 쿠키에 저장할 수 있습니다.
서버가 클라이언트에 쿠키를 설정하고, 클라이언트가 다음 HTTP 요청을 할 시 저장해둔 쿠키를 다시 전송합니다.
그렇다면 이 이용자가 누구인지 확인하는게 더 편하게 이루어질 것입니다.
만약 쿠키가 없는 클라이언트가 접속하고자 한다면 처음 온 사용자라고 인식할 수 있습니다.
인증, 쇼핑 카트, 추천, 유저 세션 상태 등을 위해 사용합니다.
즉, state를 저장할 수 있습니다.
쿠키는 다르게 표현하면 state를 전달하는 http 상의 메시지라 할 수 있습니다.
웹 캐시 (프록시 서버)
물리적으로 거리가 멀면 통신하는데 시간이 걸릴 수밖에 없습니다.
그래서 방문한 적 있는 사이트를 저장해둔 것이 웹 캐시입니다.
다음에 방문할 때는 오리지널 서버를 거치지 않고 리퀘스트를 만족시킬 수 있습니다.
물론 처음 방문할 때는 오래 걸립니다.
웹 캐시는 클라이언트 입장에서는 서버, 서버 입장에서는 클라이언트로 작동합니다.
관점에 따라 달라질 수 있음을 알아야 합니다.
결국 오리지널 서버로 가기는 하니까 느린 거 아니냐 생각할 수 있지만
사이트 전체를 받아오는 것보단 리스폰스 짧게 받고 끝낼 수 있는게 좋습니다.
전체 네트워크 관점
액세스 링크의 대역폭이 좁으면 결국 인터넷 속도가 느립니다.
그렇다고 액세스 링크의 대역폭을 늘리자니 비용이 문제입니다.
여기서 웹 캐시를 사용한다면 게이트웨이( 내 네트워크에서 나가는 첫번째 라우터 )를 지나지 않고
속한 네트워크에서 해결을 할 수 있어 트래픽이 줄고 시간이 굉장히 빨라집니다. 가격도 훨씬 쌉니다.
결국 전체 인터넷 관점에서 불필요한 트래픽을 줄일 수 있습니다.
** 데이터 최신화 문제
웹 캐시는 데이터 요청을 받으면 일단 오리지널 서버에 가지고 있는 사이트의 시간 정보를 보내서
데이터가 최신 상태인지 확인하는 과정이 필요합니다. 만약 최신 상태가 아니라면 서버로 데이터를 받으러 가야 합니다.
-> Conditional GET
HTTP request msg. If-modified-since: <date>
바뀐적 없다: HTTP response. HTTP/1.0 304 Not Modified
바뀌었다: HTTP response. HTTP/1.0 200 OK <data>
웹 캐시는 날짜 정보를 HTTP 요청에 같이 보내고,
서버는 바뀐적이 있다면 데이터를 보내고 없다면 바뀐적 없다고 메시지를 보냅니다.
'네트워크' 카테고리의 다른 글
DNS (0) | 2024.04.07 |
---|---|
SMTP, MIME (0) | 2024.04.06 |
HTTP 프로토콜 구조 (0) | 2024.03.25 |
URI, URL, URN / HTTP 개요(비지속적, 지속적 HTTP) (0) | 2024.03.25 |
IP와 포트, TCP/UDP (0) | 2024.03.25 |