• Q&A
  • 회원가입
  • 로그인

[web] 쿠키, 세션, 캐시(=캐싱) (정의, 장점, 단점)



쿠키와 세션을 구분짓는 이유는 뭘까요? 

♠ 쿠키 (cookie)

 

쿠키사용자의 특정 취향 정보를 사용자의 컴퓨터에 텍스트로 저장시킨 파일.  

 



1.

보안에 취약.


2.

PC방 등의 공공장소에서 로그인할 때 쿠키를 사용한다면, 
이름, 연락처, 주민번호, 아이디, 비밀번호와 같은 개인정보가 PC방 컴퓨터에 저장되어 해킹 등에 악용 가능.

3.
쿠키 굽기 : 
setcookie() 함수 이용.
쿠키 호출 : 
$_COOKIE['변수명'] 변수 이용.

(예) 
쇼핑몰 장바구니처럼 한번 쓰고 버려도 상관 없거나, 
사용자가 원하는 스타일의 레이아웃 설정값을 저장할 때 사용.

 

 

♠ 세션 (session) 
 
세션은 두 컴퓨터 간 활성화 된 접속 의미. (※ 특정 접속자 식별 도구)



1.
서버에 저장되어 현재 사용자만이 인증 받음. 
 
2.
세션만으론 사용자를 구별할 수가 없어 사용자별로 세션값을 하나 만들고, 
그 세션값에 대응하는 사용자의 브라우저에 쿠키를 만들어 동일 여부 체크해 로그인 여부를 판별.

3.
그누보드 경우,
/data/session 폴더에 로그인한 사용자의 세션이 암호화된 파일로 저장되어 있음.

4.
로그아웃 버튼을 클릭하면 세션을 끊어서 해당 컴퓨터에 사용자 정보를 남기지 않으며, 
서버 내에 어떠한 이동이나 액션이 발생하지 않으면, 
서버에서는 사용자가 로그아웃한 것으로 간주하여 세션을 삭제하기도 함. 

5.
한 마디로, 세션이 쿠키보다 보안이 뛰어나다고 볼 수 있음. 

예:
로그인 여부 체크,  주로 은행권에서 이용. "XXX초 뒤에 사이트에서 자동 로그아웃.
 

 
※ 보안 상 더 취약한 쿠키를 사용하는 이유

서버 성능 향상 (= 서버에 무리한 부담 주는 것 회피) 위함. 

세션은 서버에 저장되어 메모리 차지해서 많은 자료 쌓이면 문제 됨. 
그래서, 
로그인에는 보안에 취약한 쿠키 대신 세션을 사용하고, 
보안 관련없는 장바구니나 팝업 등에는 쿠키 주로 사용.

출처: l2zeo 님



♠ 캐시 (cache) = 캐싱 (caching) 

 

CSS, JS 등 용량 큰 파일이나 홈페이지 관리자가 설정한 값을 사용자의 브라우저에 저장시킨 것.

 



1.
장점 : 트래픽 절감 및 빠른 로딩 속도에 도움,
단점 : 소스 바뀐 걸 사용자가 바로 확인 불가.

2.
캐시 삭제 방법
① 사용자가 Ctrl + F5 입력.
② 서버에서 캐시만료기간 설정.


3.
쿠키 : 사용자 개인정보를 저장.
캐시 : 
CSS, JS 등 홈페이지 설정값 저장.

 


코딩 공부는 「홈짱닷컴」에서...

방문자 수

오늘 2,533
어제 2,493
최대 2,533
이달 47,889
전체 1,109,604
찾아주셔서 감사합니다. Since 2012