웹 개발 교육을 받고 있으며 JSP 및 서블릿 에 대해 배우고 있습니다. 나는 약간의 지식을 가지고있다 HttpSession
-나는 그것을 샘플 프로젝트 중 일부에서 사용했다.
브라우저에서 "쿠키 삭제"옵션을 보았습니다. 쿠키를 삭제하면 쿠키도 삭제됩니다 HttpSession
.
쿠키와 세션이 동일합니까? 그들 사이의 차이점은 무엇입니까?
웹 개발 교육을 받고 있으며 JSP 및 서블릿 에 대해 배우고 있습니다. 나는 약간의 지식을 가지고있다 HttpSession
-나는 그것을 샘플 프로젝트 중 일부에서 사용했다.
브라우저에서 "쿠키 삭제"옵션을 보았습니다. 쿠키를 삭제하면 쿠키도 삭제됩니다 HttpSession
.
쿠키와 세션이 동일합니까? 그들 사이의 차이점은 무엇입니까?
답변:
세션은 사용자 정보가 포함 된 서버 측 파일이고 쿠키는 사용자 정보가 포함 된 클라이언트 측 파일입니다. 세션에는 세션을 특정 사용자에게 매핑하는 고유 식별자가 있습니다. 이 식별자는 URL로 전달되거나 세션 쿠키에 저장 될 수 있습니다.
대부분의 최신 사이트는 두 번째 접근 방식을 사용하여 URL에 보안 식별자를 전달하는 대신 쿠키에 식별자를 저장합니다. 쿠키를 삭제하면 쿠키에 포함 된 고유 세션 식별자를 제거 할 때 쿠키를 삭제하여 해당 세션을 효과적으로 지울 수 있습니다.
쿠키는 단순히 클라이언트와 서버간에주고받는 짧은 텍스트 문자열입니다. name=bob; password=asdfas
쿠키를 저장 하고 서버 측에서 클라이언트를 식별하기 위해 쿠키를주고 받을 수 있습니다 . 이것을 단기 기억이없는 은행원과 교환하는 것으로 생각할 수 있으며 각 거래마다 자신을 식별해야합니다. 물론 이런 종류의 정보를 저장하기 위해 쿠키를 사용하는 것은 끔찍한 안전하지 않습니다. 쿠키의 크기도 제한되어 있습니다.
이제 은행원이 자신의 기억 문제에 대해 알게되면 정보를 종이에 적어 짧은 ID 번호를 지정할 수 있습니다. 그런 다음 각 거래에 대해 계좌 번호와 운전 면허를 제공하는 대신 "I 'm client 12"라고 말하면됩니다.
웹 서버로 번역 : 서버는 관련 정보를 세션 객체에 저장하고 쿠키로 클라이언트에게 다시 보낼 세션 ID를 만듭니다. 클라이언트가 쿠키를 다시 보내면 서버는 단순히 ID를 사용하여 세션 객체를 조회 할 수 있습니다. 따라서 쿠키를 삭제하면 세션이 손실됩니다.
다른 대안은 서버가 URL 재 작성을 사용하여 세션 ID를 교환하는 것입니다.
링크가 있다고 가정 해보십시오 www.myserver.com/myApp.jsp
. 페이지를 통해 모든 URL을 다시 www.myserver.com/myApp.jsp?sessionID=asdf
쓰거나 www.myserver.com/asdf/myApp.jsp
식별자를 교환 할 수 있습니다. 이 기술은 웹 응용 프로그램 컨테이너에서 처리하며 일반적으로 쿠키없는 세션을 사용하도록 구성을 설정하여 설정됩니다.
이 스레드에 대한 많은 기여는 이미 다른 방법으로 설명하기 위해 시퀀스 다이어그램을 요약합니다.
https://web.stanford.edu/~ouster/cgi-bin/cs142-fall10/lecture.php?topic=cookie라는 주제에 대한 링크이기도합니다.
Asp.net 세션 :
1. 애플리케이션 전체에 걸쳐 데이터를 유지합니다.
2. 현재 세션이 활성 상태 인 경우 데이터를 유지합니다. 여러 컨트롤러 aciton 및 뷰에서 액세스 할 수있는 데이터가 필요한 경우 세션은 데이터를 저장하고 검색하는 방법입니다.
3. 세션은 사용자 정보가 포함 된 서버 측 파일입니다. [세션은 특정 사용자에게 매핑하는 고유 식별자입니다]
웹 서버로 번역 : 서버는 관련 정보를 세션 객체에 저장하고 쿠키로 클라이언트에게 다시 보낼 세션 ID를 만듭니다. 클라이언트가 쿠키를 다시 보내면 서버는 단순히 ID를 사용하여 세션 객체를 조회 할 수 있습니다. 따라서 쿠키를 삭제하면 세션이 손실됩니다.
쿠키 는 브라우저에 텍스트 파일 형식으로 저장되며 제한된 양의 데이터 만 저장됩니다 . 4kb [4096bytes] 만 허용 됩니다. $ _COOKIE 변수는 동일한 이름을 가진 여러 쿠키를 보유하지 않습니다
쿠키 값에 쉽게 액세스 할 수 있습니다 . 따라서 덜 안전 합니다 .setcookie () 함수는
<html>
꼬리표.
세션 은 서버 측에 저장되며 무제한의 데이터가 저장되며 세션에서 여러 변수를 보유합니다. 쿠키 값에 쉽게 액세스 할 수 없으므로 더 안전 합니다.
링크 : 쿠키와 세션의 차이점