Session_Cache_Limiter 는 PHP의 세션 관련 구성 항목입니다. 세션 데이터가 브라우저로 전송되기 전에 PHP가 HTTP 헤더에서 캐시 제어 정보를 설정하는 방법을 제어합니다. 기본적으로 PHP 세션은 새 세션 ID를 생성하고 요청할 때마다 클라이언트에게 보냅니다. 따라서 불필요한 캐시를 피하기 위해 캐시 정책을 관리해야합니다.
이 구성 항목의 주요 기능은 클라이언트가 세션 데이터를 캐시 할 때 HTTP 캐시 헤더 정보를 처리하는 방법을 제어하는 것입니다. Session_Cache_Limiter를 합리적으로 구성함으로써 개발자는 세션 데이터의 캐시 정책을 명확히하여 세션 데이터에 대한 클라이언트 브라우저의 캐시 동작을 제어 할 수 있습니다.
PHP의 Session_Cache_Limiter 에는 몇 가지 일반적으로 사용되는 캐싱 전략이 있습니다. 다음은 이러한 전략과 사용 시나리오를 하나씩 소개합니다.
캐시가 없습니다
참고 : No-Cache 로 설정되면 PHP는 Cache-Control : No-Cache 및 Pragma : 응답 헤더에서 No-Cache를 보냅니다. 이는 클라이언트가 세션 데이터를 캐시하지 않아야 함을 나타냅니다. 요청이 이루어질 때마다 클라이언트는 새 세션 데이터를 요청합니다.
사용 시나리오 : 최신 세션 데이터가 온라인 결제, 쇼핑 카트 및 사용자 데이터의 실시간 처리가 필요한 기타 시스템과 같은 모든 요청과 같은 모든 요청을 엄격히 얻는 시나리오에 적합합니다.
사적인
설명 : 개인 으로 설정하면 세션 데이터는 현재 사용자의 브라우저에만 유효하며 다른 곳에서는 공유하거나 캐시되지 않습니다. 응답 헤더에는 캐시 제어 : 개인이 포함됩니다.
사용 시나리오 : 사용자의 개인 정보 페이지와 같은 사용자간에 캐시를 격리 해야하는 특정 시나리오에 적용 할 수 있으므로 각 사용자가 액세스 할 때 독립적 인 세션 데이터를 갖도록합니다.
공공의
설명 : 공개 로 설정하면 세션 데이터를 공개적으로 캐시 할 수 있으며 모든 사용자가 세션 데이터를 캐시 할 수 있습니다. 응답 헤더에는 캐시 제어 : public이 포함됩니다.
시나리오 사용 : 공개 정보 표시 페이지 (예 : 사용자 로그인과 관련이없는 제품 목록 페이지)와 같은 민감한 정보가 포함되지 않은 공개 페이지에 적용됩니다.
Nocache
참고 : Nocache 로 설정하면 PHP는 Cache-Control : No-Store 와 유사한 지침을 반환합니다. 이 전략은 캐시가없는 것과 유사하지만 더 엄격합니다.
사용 시나리오 : 온라인 뱅킹, 개인 계정 페이지 등과 같은 브라우저에서 사용자 데이터를 캐시하는 것을 방지하는 응용 프로그램과 같은 보안 요구 사항이 높은 시나리오에 적용됩니다.
PHP에서 Session_Cache_Limiter (Session_Cache_Limiter) 함수를 통해 SESSION_CACHE_LIMITER 캐시 정책을 얻거나 설정할 수 있습니다. 구문은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">session_cache_limiter</span></span><span>([</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$cache_limiter</span></span><span>]);
</span></span>
매개 변수가 전달되지 않으면 Session_Cache_Limiter ()는 현재 캐시 정책을 반환합니다.
캐시 정책이 통과되면 PHP는 새로운 캐시 정책을 설정합니다.
예를 들어, 다음 코드는 session_cache_limiter를 개인 으로 설정합니다.
<span><span><span class="hljs-title function_ invoke__">session_cache_limiter</span></span><span>(</span><span><span class="hljs-string">'private'</span></span><span>);
</span></span>
실시간 업데이트 시스템 <br> 온라인 쇼핑, 결제 프로세스, 실시간 채팅 등과 같은 세션 정보를 실시간으로 업데이트 해야하는 일부 시스템의 경우 캐시 나 노크를 사용하는 것이 좋습니다. 이를 통해 최신 세션 정보가 데이터 만료 또는 일관성없는 캐시 문제를 피하며 모든 요청을 얻을 수 있습니다.
사용자 개인 정보 페이지 <br> 개인 정보 페이지, 계정 설정 등과 같은 사용자 개인 데이터가 포함 된 페이지의 경우 개인을 사용하는 것이 좋습니다. 이를 통해 데이터는 현재 사용자에게만 표시되며 다른 사용자의 브라우저에서 캐시 또는 공유하지 않습니다.
공개 디스플레이 페이지 <br> 민감한 데이터 (예 : 제품 목록, 뉴스 페이지 등)가 필요하지 않은 공개 페이지 인 경우 공개를 사용할 수 있습니다. 브라우저는이 컨텐츠를 캐시하고 요청할 때마다 동일한 데이터를로드하지 않기 때문에 페이지 로딩 속도를 향상시킬 수 있습니다.
높은 안전 요구 사항이 높은 응용 프로그램 <br> 온라인 뱅킹, 재무 관리 시스템 등과 같은 높은 보안 보증이 필요한 응용 프로그램에서는 브라우저가 모든 세션 데이터를 캐싱하는 것을 방지하여 세션 데이터의 보안을 보장 할 수있는 Nocache 또는 No-Cache가 권장됩니다.