2013-06-16 6 views
2

일부 페이지는 브라우저에서 프리 페치 할 수 있습니다 (this 또는 that 참조). PHP에서 요청이 프리 페치 요청임을 감지하는 방법은 무엇입니까?PHP에서 브라우저에서 프리 패치를 감지하는 방법은 무엇입니까?

브라우저마다 다른 방법이 있습니까?

(PS :. 제가 아파치를 사용)

+0

프리 페치는 널리 지원되지 않습니다. 너가 그것을 발견 할 수 있으면, 너는 정보로 너를 할텐데? –

+0

사실 프리 렌더링과 프리 패치가 모두 있습니다! 이로 인해 COOKIE가 서버로 보내지지만 대가로 업데이트되지 않으므로 이러한 요청을 실제 요청과 구별 할 방법이 없으므로 많은 세션 업데이트 문제가 발생합니다. – RayaFeed

답변

1

저는 FF와 다른 브라우저에서 내 서버 쪽 페이지 수를 버리는 비슷한 해결책을 찾고있었습니다.

위의 기사에 따르면, 파이어 폭스를 감지하는 것이 쉽게 헤더를 전송하지만, 크롬 백서는 크롬 서버에 어떤 표시를주지 않는 상태 . Chrome 백서는 외부 분석 솔루션 (JS로 작성된 스크립트)은 page visibility API을 사용할 때 프리 페치 히트를 계산하지 않는다고 말합니다.

제 제안은 페이지가 항상 표시되는지 여부를 감지하는 자체 JS 스크립트를 작성하는 것입니다.

0

이 질문은 매우 유사하다 "쿠키가 활성화되어 있는지 어떻게 감지?". 그러나 프리 페치 된 페이지는 메인 페이지를 로딩 한 후 로딩되기 때문에 클라이언트 측 리디렉션을 사용해야합니다.

직접 프리 페치 요청은 헤더 (FF의 경우 X-Moz: prefetch)로 감지되거나 추가 매개 변수를 링크로 전달하여 직접 검색 할 수 있습니다.

P. 쿠키를 사용하지 않으면 각 디렉토리 프리 페치 요청에 대해서만 클라이언트에 대해 쿠키를 감지 할 수 없습니다.