세션사용에 대한 궁굼증 입니다
본문
이제사 세션을 이해 하게 됬습니다.
서버에 저장되면 많은 세션중에 자신의 것을 구분짖는 이름이 있어야 될텐데 라고 생각하고
그런 언급이 없어서 도무지 이해를 못했었지요.
그런데 오늘 테스트 해보니 자신의 것이라는것은 별도로 지정하지 않아도
세련이름(컴퓨터구분자 아님)과 값만 지정하면 알아서 가저 오나봐요.
진즉에 말좀 해주시지...
다른분도 참고 하시구요
질문입니다.
1.요즘도 쿠키 지원 하지 않는 컴퓨터 있나요?
2.쿠키지원하지 않도록 설정한 사람이 있을까요?
3.쿠키대신 꼭 세션을 사용하는 이유가 어떤 경우가 있나요?
답변 2
1,2번은 일반 사용자들이 사용하는 메이저 브라우져들은 다 지원하고, 보통 쿠키설정을 끄지 않을 꺼라고 봅니다만, 저도 잘 ^^;
3. 쿠키는 사용자 컴퓨터에 저장이 되고, 브라우져가 서버에 연결할 때 마다(페이지를 열때마다) 같이 보내고 받고 하죠. 그래서 사용자가 악의적으로 쿠키를 변조해서 서버에 보내거나 탈취당할 수도 있겠죠. 고로 중요한 정보(개인정보 등)는 쿠키에 저장하지 않는게 바람직할겁니다. 쿠키에 너무 많은 정보를 저장하게 되면, 연결 마다 쿠키를 같이 보내고 받으니 속도에도 지장이 있을겁니다. 세션은 아시는바와 같이 서버에 저장이됩니다. 사용자가 세션에 접근할 수 없으니 안전합니다. 그리고 PHP의 object 들도 세션에 저장할 수 있어 편리하게 사용할 수 있을겁니다만, 서버 메모리를 그만큼 더 사용하긴 하겠죠. 접속자가 아주 많다면 문제가 될지도 모르겠네요. 요약하면, 별로 안중요하고 데이터 양이 작은 경우 쿠키를 쓰고, 사용자에게 노출시키고 싶지 않은 정보는 세션을 쓴다 정도로.
쿠키는 사용자의 브라우저에 데이터를 기록하는 방식입니다. 세션은 서버에 무작위 키값으로 세션ID를 생성하고 사용자에게 해당 세션ID 정보에 대한 쿠키를 생성한 다음 서버의 파일시스템에 데이터를 저장하고, 사용자에 맞는 세션 데이터를 사용하는 방식입니다.