2016-08-05 3 views
0

두 개의 질문이 하나로 통합되었습니다.URL 변수와 PHP 리디렉션은 캐시 할 수 있습니까?

URL 변수가 있으면 브라우저가 URL (js 스크립트)을 캐시 할 수 있습니까? 예. www.thing.com/?l=lib & s = thing.js

브라우저가 파일을 PHP 리디렉션이라면 캐시 할 수 있습니까? 예. www.thing.com/script.js (www.thing2.com/actual.js로 리디렉션 된 PHP 파일)

감사합니다.

+1

브라우저는 일반적으로 기본적으로 모든 요청 결과는 잠재적으로 캐시 할 수있다이 허용 상관 없음 URL을 캐시합니다. 그러나 'www.thing.com/? l = lib & s = thing.js'와'www.thing.com/s= thing.js & l = lib'는 브라우저의 관점에서 다를 수 있습니다. – apokryfos

답변

2

이 URL 변수를 요청 않다면 당신은 두 가지 질문

  1. 수 일반적으로 캐시 브라우저의 URL (JS 스크립트)를 가지고 있기 때문에? 예 : www.thing.com/?l=lib & s = thing.js

    예.

  2. 브라우저가 파일을 PHP 리디렉션 인 경우 캐시 할 수 있습니까? 예 : www.thing.com/script.js (www.thing2.com/actual.js로 리디렉션 된 PHP 파일)

    에 따라 다릅니다. 리디렉션이 301 인 경우, 예 per the spec

    요청한 리소스는 반환 된 URI 중 하나를 사용하는 것이 좋습니다이 자원에 새로운 영구 URI 및 향후 참조를 지정되었습니다. 링크 편집 기능이있는 클라이언트는 가능한 경우 자동으로 Request-URI에 대한 참조를 서버가 반환 한 하나 이상의 새로운 참조로 다시 연결해야합니다. 이 응답은 다르게 표시되지 않는 한 캐시 가능합니다.

    리디렉션 한 후, 302의 경우는 maybe

    요청 된 자원이 일시적으로 다른 URI. 리디렉션은 때때로 변경 될 수 있으므로 클라이언트는 이후 요청에 대해 Request-URI를 계속 사용해야합니다. 이 응답은 Cache-Control 또는 Expires 헤더 필드로 표시되는 경우에만 캐시 가능합니다. (브라우저가 여전히 사람들을 무시하도록 선택할 수 있지만, 캐시 정책 헤더를 통해)

+0

고맙습니다. 현재 사용중인 302 번 설정은 캐시하지 않습니다. 나는 그들을 301 이상으로 바꿀 것이다. –