>  기사  >  백엔드 개발  >  PHP에서 쿠키와 세션의 차이점

PHP에서 쿠키와 세션의 차이점

(*-*)浩
(*-*)浩원래의
2019-09-05 10:36:104302검색

PHP에서 쿠키와 세션의 차이점

쿠키에 대해 알아보세요

쿠키는 영어로 쿠키와 작은 디저트를 의미하며, 인터넷에서 쿠키는 실제로 작은 양의 정보를 의미합니다. 이용자의 컴퓨터에 정보를 저장하기 위해 웹 서버가 생성한 파일로, 주요 기능은 웹 애플리케이션에 이용자의 기본 정보를 기록하는 것입니다. (추천 학습: PHP 비디오 튜토리얼)

웹 애플리케이션은 네트워크 상호 작용을 위한 http 프로토콜을 기반으로 하며, http 프로토콜은 각 웹 페이지에서 제출한 정보를 기록하지 않으며, 많은 웹 사이트에는 회원 기능이 있습니다. 페이지를 이동할 때마다 회원정보를 다시 제출해야 하는 번거로움을 해결하기 위해 쿠키가 탄생했습니다.

웹 애플리케이션은 서버 측 코드에서 쿠키 정보를 생성하여 작동 중에 클라이언트의 브라우저에 저장할 수 있으며, 이때 파일은 사용자가 실행 중인 RAM에 저장됩니다. 브라우저에서는 자동으로 쿠키 정보를 삭제합니다. 프로그램이 시간 설정에 따라 쿠키를 생성하면 다음번에 동일한 웹 애플리케이션을 방문할 때 웹 애플리케이션이 계속해서 쿠키 정보를 얻을 수 있습니다. 설정된 시간 범위.

관련 주제 추천: php 세션 (그림, 텍스트, 비디오, 사례 포함)

세션 이해

세션 개념: 컴퓨터, 특히 네트워크 응용 프로그램에서는 "세션"이라고 합니다. 제어". Session 개체는 특정 사용자 세션에 필요한 속성 및 구성 정보를 저장합니다.

이런 방식으로 사용자가 애플리케이션에서 웹 페이지 사이를 이동할 때 세션 개체에 저장된 변수는 손실되지 않고 사용자 세션 전체에서 유지됩니다. 사용자가 응용 프로그램에서 웹 페이지를 요청할 때 사용자에게 아직 세션이 없으면 웹 서버는 자동으로 세션 개체를 만듭니다.

세션이 만료되거나 중단되면 서버는 세션을 종료합니다. 세션 개체의 가장 일반적인 용도 중 하나는 사용자 기본 설정을 저장하는 것입니다. 예를 들어, 사용자가 그래픽 보기를 원하지 않는다고 표시하는 경우 이 정보는 Session 개체에 저장될 수 있습니다.

세션 메커니즘: 세션 내용은 일반적으로 파일 형태로 서버에 저장되며, 로컬 브라우저는 세션 파일에 해당하는 쿠키 값을 서버에 저장합니다. 쿠키는 "PHPSESSID" 키 값과 함께 Seeion_id 값을 저장합니다. ".

사용자가 웹 애플리케이션에 액세스하면 점프 중에 http 요청이 발생할 때마다 session_id를 저장하는 쿠키 값이 자동으로 전송됩니다. 따라서 웹 애플리케이션의 모든 페이지는 이 SESSION_ID 값을 얻을 수 있습니다. session_id를 통해 얻어지며, 사용자가 브라우저를 닫으면 쿠키에 저장된 session_id는 자동으로 지워집니다. 일반적으로 서버에 저장된 세션 파일도 30분 후에 자동으로 지워집니다.

COOKIE와 SESSION의 차이점

(1)저장 위치: 쿠키는 상대적으로 안전하지 않은 클라이언트 브라우저에 저장됩니다. 세션 콘텐츠가 포함된 파일은 일반적으로 tmp 폴더에 저장됩니다. 루트 디렉토리에 있는 것이 상대적으로 더 안전합니다.

(2)수량 및 크기 제한: 쿠키에 의해 저장되는 데이터는 브라우저마다 제한이 다릅니다. 일반적으로 동일한 도메인 이름에서 쿠키 변수의 수는 20개 이내로 제어되며 각 쿠키 값의 크기는 다음과 같습니다. 4kb 이내로 제어됩니다. 세션 값의 크기나 개수에는 제한이 없지만, 너무 많으면 서버에 부담이 커집니다.

(3)내용 차이: 쿠키가 저장한 내용은 문자열이고, 세션이 서버에 저장한 데이터는 객체입니다.

(4)경로 차이: 세션은 동일한 사용자가 웹사이트를 방문하는 동안 어디에서나 모든 세션에 액세스할 수 있으며, 쿠키에 경로 매개변수가 설정된 경우 동일한 웹사이트 쿠키는 다른 경로에 있습니다. 서로 접근이 불가능합니다.

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

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