본문 바로가기
Coding/PHP

쿠키와 세션

by 하비삼 2015. 1. 30.


 

 쿠키 

 세션 

 저장되는 곳 

 클라이언트 

 서버 

 저장되는 형식

 텍스트 형식 

 Object형 

 만료시점

 쿠키 저장시 설정가능 

 (설정 안하면 브라우저 종료시 소멸) 

 정확한 시점을 알수 없다. 

 리소스 

 클라이언트의 리소스 사용 

 서버의 리소스 사용 

 용량 제한

 한도메인당 20개

 쿠키 하나당 4KB

 총 300개

 서버가 허용하는 한 용량에 제한 없음 


■ 저장되는 곳

쿠키는 클라이언트의 웹 브라우져가 지정하는 메모리 또는 하드디스크에 저장됩니다. 하지만 세션은 생성된 후 서버의 메모리에 저장됩니다. 그렇지만 클라이언트 측에서 쿠키사용을 하지 않도록 브라우저를 세팅해 놓으면 쿠키는 저장되지 않습니다.


■ 만료시점

쿠키는 저장할 때 expires 속성을 정의해서 무효화 되어 삭제될 날짜를 정확히 지정할 수 있습니다. 하지만 세션은 클라이언트측에서 로그아웃 하거나, 설정한 시간동안 클라이언트측의 반응이 없을 경우에만 무효화되므로 정확한 만료시점은 알 수 없습니다.


■ 리소스

쿠키는 클라이언트 측에 저장되고 클라이언트의 메모리를 사용하기 때문에 서버상의 자원을 쓰지 않습니다. 하지만 쿠키는 서버에 저장되고, 서버의 메모리로 로딩되기 때문에 세션이 생성될 때마다 그만큼의 리소스를 차지하게 됩니다.


■ 용량 제한

 쿠키는 클라이언트도 모르게 접속되는 사이트에 의하여 설정될 수 있습니다. 따라서 쿠키로 인하여 문제가 발생하지 않도록 하기 위하여 한 도메인당 20개 총 300개 그리고 하나의 쿠키당 4kb로 저장 용량을 제한해 놓았습니다.  하지만 세션은 클라이언트가 접속하면 서버에 의해서 생성되므로 그 개수나 용량에 제한이 없습니다.


이렇게 쿠키와 세션은 서버와 클라이언트간의 상태유지, 자원사용의 효율 그리고 개인정보 보호 등 여러 관점에서 살펴보면, 나름대로 장점과 단점을 가지고 있습니다.  따라서 사이트의 특성에 따라서 세션과 쿠키의 장점을 살려 적절히 사용한다면, 보다 효율적인 사이트를 구축할 수 있을 것입니다.


반응형

'Coding > PHP' 카테고리의 다른 글

날짜 배열 담기, 날짜 정렬  (0) 2017.07.04
날짜 계산  (0) 2015.01.30
하이라트 테스트  (0) 2015.01.30
[PHP] 계층형 게시판 - 5. 글보기  (0) 2015.01.30
[PHP] 계층형 게시판 - 4. 리스트  (0) 2015.01.30