- 쿠키와 세션 간단 구분
: 쿠키는 사용자의 컴퓨터에 저장 / 세션은 서버에 저장
쿠키(Cookie)
웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해
-> 인터넷 사용자의 컴퓨터에(로컬) 설치되는 작은 기록 정보 파일
쿠키의 특징
1. 사용자가 같은 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다.
쿠키의 한계
민감한 정보를 담아서는 곤란하다.
1. 유저의 브라우징 행동을 추적하는데에 사용될 수 있고
2. 누군가의 쿠키를 훔쳐서 해당 사용자의 웹 계정 접근권한을 획득할 수도 있다.
"브라우저는 내 컴퓨터에 있는거니까 내가 갖고 있는 정보인거죠.
그런데 이 '쿠키북'에는 한계가 있어요.
내가 임의로 고치거나 지울 수 있고 심지어 남이 훔쳐보거나 도둑질하기도 쉬워요. 나로서는 민감하거나 중요한 정보를 쿠키북에 적어서 다니기는 불안하겠죠."
세션(Session)
일정 시간동안 같은 사용자(브라우저)로부터 들어오는
일련의 요구를 하나의 상태로 보고, 그 상태를 일정하게 유지시키는 기술
즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 그것을 세션이라고 한다.
출처: https://hahahoho5915.tistory.com/32 [넌 잘하고 있어]
세션의 특징
1. 세션은 서비스가 돌아가는 서버 측에 데이터를 저장하고, 세션의 키값만을 클라이언트 측에 남겨둔다.
2. 브라우저는 필요할 때마다 이 키값을 이용하여 서버에 저장된 데이터를 사용한다.
"세션을 사용하는 사이트에 접속하면 서버에서는 사용자를 구분하기 위한 기한이 짧은 임시 키 하나를 브라우저에 보내서 쿠키로 저장해요. '얄코'란 사용자가 사이트 안의 페이지들을 돌아다닐 때 이 사용자의 중요한 정보들은 이 서버의 메모리나 데이터베이스에 저장되죠. 브라우저가 이 사이트의 페이지들에 접속할 때마다 http 요청에 이 키를 실어서 전송하고 서버는 그 키를 보고 '얘는 얄코구나' 인식해서 얄코의 정보들을 가공해서 응답 보내주는거에요. ... 그리고 사용자나 다른 누군가에게 노출되어서는 안 되는, 서비스 제공자가 직접 관리해야 할 정보들은 세션으로 서버 안에서 다뤄지는거죠."
Q. 그러면 쿠키대신 세션을 사용하면 되지 않나요?
위에서 구분 지었듯이, 세션은 서버에 저장되고 서버의 자원을 소모하기 때문에 서버 자원 낭비를 방지하는 차원에서
쿠키와 병행하여 쓰인다.
웹 캐쉬
웹 캐쉬란 client가 요청하는 html, image, js, css등에 대해 첫 요청 시에 파일을 내려받아 특정 위치에 복사본을 저장(USING SPACE)하고, 이후 동일한 URL의 Resource요청은 다시 내려 받지 않고 내부에 저장한 파일을 사용하여 더 빠르게 서비스(SAVE TIME)하기 위한 것입니다. 서버를 통해 내려 받는 양이 적어지니 응답 시간이 감소하고 네트워크 트레픽이 감소되니 server와 client 모두가 win-win할 수 있는 최고의 tradeoff 인 셈입니다.
https://www.yalco.kr/15_cookie_session_cache/
쿠키, 세션, 캐시가 뭔가요?
어려운 프로그래밍 개념들을 쉽게 설명해주는 유튜브 채널 '얄팍한 코딩사전'. 영상에서 다 알려주지 못한 정보들이나 자주 묻는 질문들의 답변들, 예제 코드들을 얄코에서 확인하세요!
www.yalco.kr