> 백엔드 개발 > PHP 튜토리얼 > 쿠키와 세션의 차이점에 대한 자세한 설명

쿠키와 세션의 차이점에 대한 자세한 설명

jacklove
풀어 주다: 2023-04-01 08:28:01
원래의
1848명이 탐색했습니다.

쿠키와 세션의 차이점에 대한 자세한 설명

기본 지식이지만 깊이 있는 이해가 필요합니다. 먼저 간략한 소개를 하겠습니다.

둘의 정의:

귀하가 웹사이트를 탐색할 때 웹 서버는 먼저 소량의 정보를 귀하의 컴퓨터로 보내고, 쿠키는 귀하가 웹사이트에서 텍스트나 선택 사항을 입력하는 데 도움을 줍니다.

모든 것이 기록됩니다. . 다음에 귀하가 동일한 웹사이트를 방문할 때, 웹 서버는 먼저 지난번에 남겨둔 쿠키 정보가 있는지 확인합니다. 그렇다면 쿠키의 내용을 기반으로 사용자를 판단하고 특정 웹페이지 콘텐츠를 보냅니다. 그것. 쿠키의 사용은 매우 일반적입니다. 개인화된 서비스를 제공하는 많은 웹사이트에서는 쿠키

를 사용하여 사용자 맞춤형 콘텐츠를 보낼 수 있습니다. 예를 들어, 웹 인터페이스가 있는 무료 이메일 웹사이트는 모두 쿠키를 사용합니다.

구체적으로 쿠키 메커니즘은 클라이언트 측에서 상태를 유지하는 솔루션을 사용하는 반면, 세션 메커니즘은 서버 측에서 상태를 유지하는 솔루션을 사용합니다.


동시에 서버 측에서 상태를 유지하는 솔루션도 클라이언트 측에서 ID를 저장해야 하기 때문에 세션 메커니즘은 저장 목적을 달성하기 위해 쿠키 메커니즘

을 사용해야 할 수도 있습니다. 신원이지만 실제로는 다른 선택이 있습니다.

쿠키 메커니즘. 정통 쿠키 배포는 HTTP 프로토콜을 확장하여 수행됩니다. 서버는 지침에 따라 해당 쿠키를 생성하도록 브라우저에 메시지를 표시하는 특수 지침 줄을 HTTP 응답 헤더에 추가합니다. 그러나 JavaScript 또는 VBScript와 같은 순수 클라이언트 측 스크립트도 쿠키를 생성할 수 있습니다. 쿠키 사용은 특정 원칙에 따라 백그라운드의 브라우저에 의해 자동으로 서버로 전송됩니다. 브라우저는 저장된 모든 쿠키를 확인합니다. 쿠키의 선언된 범위가 요청하려는 리소스의 위치보다 크거나 같으면 쿠키는 요청된 리소스의 HTTP 요청 헤더에 첨부되어 서버로 전송됩니다.

쿠키의 내용에는 주로 이름, 값, 만료 시간, 경로 및 도메인이 포함됩니다. 경로와 도메인이 함께 쿠키의 범위를 구성합니다. 만료 시간이 설정되지 않으면 이 쿠키의 수명은 브라우저 세션 동안이라는 의미입니다. 브라우저 창이 닫히면 쿠키가 사라집니다. 브라우저 세션 동안 지속되는 이러한 유형의 쿠키를 세션 쿠키라고 합니다.

세션 쿠키는 일반적으로 하드 디스크에 저장되지 않고 메모리에 저장됩니다. 물론 이 동작은 사양에 의해 규제되지 않습니다. 만료 시간이 설정되면 브라우저는 쿠키를 하드 디스크에 저장합니다. 브라우저를 닫았다가 다시 연 후에도 이 쿠키는 설정된 만료 시간이 초과될 때까지 계속 유효합니다. 하드 드라이브에 저장된 쿠키는 두 개의 IE 창과 같은 서로 다른 브라우저 프로세스 간에 공유될 수 있습니다. 메모리에 저장된 쿠키의 경우 브라우저마다 처리 방법

세션 메커니즘이 다릅니다. 세션 메커니즘은 서버측 메커니즘으로, 서버는 정보를 저장하기 위해 해시 테이블과 유사한 구조를 사용합니다(또는 해시 테이블을 사용할 수도 있음). ㅋㅋㅋ                                        ‐ ‐ ‐ ‐


클라이언트가 세션을 생성한 경우 서버는 세션 ID에 따라 세션을 검색하여 사용합니다(검색할 수 없는 경우 새 세션이 생성됩니다). 요청에 세션 ID가 포함되어 있지 않으면 클라이언트에 대한 세션이 생성되고 해당 세션과 연결된 세션 ID는 반복되거나 쉽게 생성되지 않는 문자열이어야 합니다. 위조 패턴을 찾으세요. 이 세션 ID는 이 응답에서 저장을 위해 클라이언트에 반환됩니다. 이 세션 ID를 저장하는 방법은 쿠키를 사용할 수 있으므로 상호 작용 프로세스 중에 브라우저가 규칙에 따라 이 식별자를

서버에 자동으로 보낼 수 있습니다. 일반적으로 이 쿠키의 이름은 SEEESIONID와 유사합니다. 그러나 쿠키는 인위적으로 비활성화될 수 있으며, 쿠키가 비활성화되어도 세션 ID가 서버로 다시 전달될 수 있도록 다른 메커니즘이 있어야 합니다.

자주 사용되는 기술은 URL 재작성이라고 하며, 세션 ID를 URL 경로 끝에 직접 추가하는 것입니다. Form Hidden Field라는 기술도 있습니다. 즉, 서버

는 자동으로 양식을 수정하고 양식이 제출될 때 세션 ID가 서버로 다시 전달될 수 있도록 숨겨진 필드를 추가합니다. 예:

<form name="testform" action="/xxx"> 
<input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764"> 
<input type="text"> 
</form>
로그인 후 복사


사실 이 기술은 액션에 URL 재작성을 적용함으로써 간단하게 대체될 수 있습니다.

쿠키와 세션의 차이점:

1. 쿠키 데이터는 고객의 브라우저에 저장되고, 세션 데이터는 서버에 저장됩니다.

2. 쿠키는 그다지 안전하지 않습니다. 다른 사람이 로컬에 저장된 COOKIE를 분석하여 COOKIE를 속일 수 있습니다.
보안을 고려하여 세션을 사용해야 합니다.

3. 세션은 일정 기간 동안 서버에 저장됩니다. 접속량이 증가하면 서버 성능을 더 많이 차지하게 됩니다
서버 성능 저하를 고려하여 COOKIE를 사용해야 합니다.

4. 단일 쿠키로 저장되는 데이터는 4K를 초과할 수 없습니다. 많은 브라우저는 사이트에 최대 20개의 쿠키를 저장하도록 제한합니다.

5. 개인적인 제안:
로그인 정보 등 중요한 정보를 SESSION으로 저장하세요.
다른 정보를 유지해야 하는 경우 COOKIE에 저장할 수 있습니다.

이 글에서는 쿠키와 세션의 차이점을 자세히 설명합니다. 내용은 PHP 중국어 넷에 주의하시기 바랍니다.

관련 권장 사항:

간단한 PHP+MySQL 페이징 클래스

재귀가 없는 두 개의 트리 배열 생성자

HTML을 Excel로 변환하고 인쇄 및 다운로드 기능을 실현

위 내용은 쿠키와 세션의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿