>  기사  >  백엔드 개발  >  PHP에서 SESSION과 COOKIE에 대한 비교 소개

PHP에서 SESSION과 COOKIE에 대한 비교 소개

jacklove
jacklove원래의
2018-05-22 11:44:541454검색

캐싱에서 많은 문제에 직면하게 될 것입니다. 이 기사에서는 SESSION과 COOKIE를 비교할 것입니다.

【쿠키】

1. 브라우저에 존재하며, 브라우저가 닫히거나 연결이 중단되더라도 사용자는 여전히 데이터 상태를 유지할 수 있습니다.

2. 기본적으로 브라우저 세션 중(데이터는 메모리에 저장됨) 유효 기간이 설정되고 데이터는 하드 디스크에 저장됩니다.

3. 유효 경로 -> 기본 경로를 설정해야 합니다. 모든 경로를 '/'로 설정해야 하는 경우

4. 유효한 도메인 이름 -> 도메인 이름 아래의 경로가 유효함을 나타내며 기본값은 현재 경로입니다.

5. 쿠키 삭제 -> setcookie("name",time()-1 );

6. 쿠키가 적용되는 시점 -> setcookie() 함수 이후에 쿠키 값이 클라이언트가 새로 고치지 않거나 다음 페이지를 탐색하지 않으면 클라이언트는 쿠키를 반환하지 않습니다.

7. 쿠키 수 -> 브라우저는 최대 30개의 쿠키를 지원하며, 각 쿠키의 용량은 다음과 같습니다. 각 웹사이트에서 설정한 쿠키 수는 20개를 초과할 수 없습니다.

【Session】

1. 사용 방법 - > 먼저 session_start()로 초기화하거나 session_id를 로드합니다. . Life Cycle-> 사용자가 페이지에 접속한 시점부터 웹사이트 연결을 끊을 때까지 사용자가 연결할 때마다 ID가 자동으로 생성됩니다.

3. data-> 연결이 끊어지지 않으면 다른 페이지 간에 데이터가 전송될 수 있습니다

4. 세션 데이터가 저장되는 PHP 환경에서는 더 복잡합니다. 구성 파일에 따라 저장 경로를 구성하고, 단일 파일을 저장하거나 id 명령 파일 이름에 따른 계층 구조에 따라 저장하는 것을 의미합니다.

[plain] view plain copy

SESSION 데이터 저장 장소는 어디입니까?

물론 서버측에 있지만 메모리에 저장되지 않고 파일이나 데이터베이스에 저장됩니다.

기본적으로 PHP.ini에 설정된 SESSION 저장 방식은 파일(session.save_handler = files)입니다. 즉, SESSION 데이터는 파일을 읽고 쓰는 방식으로 저장되며, SESSION 파일이 저장되는 디렉터리는 세션별로 지정됩니다. save_path 및 파일 이름 앞에 sess_가 붙고 그 뒤에 세션 ID가 옵니다(예: sess_c72665af28a8b14c0fe11afe3b59b51b). 파일의 데이터는 직렬화 후의 SESSION 데이터입니다.

방문 횟수가 많으면 SESSION 파일이 더 많이 생성될 수 있습니다. 이 경우 SESSION 파일을 저장하기 위한 계층적 디렉터리를 설정할 수 있으며 설정 방법은 다음과 같습니다. session.save_path ="N;/save_path", N은 계층 수준 수, save_path는 시작 디렉터리입니다.

SESSION 데이터를 쓸 때 PHP는 클라이언트의 SESSION_ID를 가져온 다음 이 SESSION ID를 사용하여 지정된 SESSION 파일 저장 디렉터리에서 해당 SESSION 파일을 찾습니다. 존재하지 않으면 생성하고 마지막으로 데이터를 직렬화하여 씁니다. 파일 [3]을 입력하세요. SESSION 데이터를 읽는 것도 비슷한 작업 프로세스입니다. 읽은 데이터를 역직렬화해야 하며 해당 SESSION 변수가 생성됩니다.

참고 사항:

1. session_start() 함수를 사용하기 전에는 출력이 불가능합니다.

2. 브라우저가 닫혀 있으므로 세션이 삭제되지 않습니다. 그러나 세션 ID가 있는 쿠키의 기본 만료 시간은 세션 수준입니다. 즉, 사용자가 브라우저를 닫으면 클라이언트에 저장된 세션 ID는 사라지지만 서버에 저장된 세션 데이터는 즉시 삭제되지 않습니다. 클라이언트, 즉 브라우저에서는 세션이 삭제된 것으로 보입니다(세션 ID를 분실하여 원본 세션 데이터를 찾을 수 없기 때문입니다).

이 글에서는 SESSION과 COOKIE의 차이점을 설명합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참고하세요.

관련 권장 사항:

php가 클라이언트 IP를 가져오는 방법 이해하기


php에서 세션 사용에 대한 자세한 설명


die(),exit() 및 return in의 차이점 소개 php

위 내용은 PHP에서 SESSION과 COOKIE에 대한 비교 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.