Firefox에서 리디렉션을 캐시하지 않도록 할 수있는 방법이 있습니까 (301 및 302)?


11

저는 웹 개발자이며 301 또는 302 리디렉션을 생성하거나 변경해야하는 경우가 많습니다. Firefox는 리디렉션을 캐시하기 때문에 Firefox에서 즉시 변경 사항을 테스트하는 것이 번거롭기 때문에 리디렉션 서버 측을 변경 한 다음 하드 새로 고침을 수행하면 이전 리디렉션이 캐시되므로 새 캐시를 테스트하는 유일한 방법은 캐시를 삭제하는 것입니다 또는 개인 브라우저 세션을 시작합니다.

즉, 해결하기가 특히 어렵지는 않지만 특히 잊어 버릴 때 성가 시며 캐시를 삭제하거나 새 개인 세션을 시작해야 할 때까지 새 리디렉션이 작동하지 않는 것처럼 보입니다. .

정상적인 사용을 위해 리디렉션을 캐시하는 것이 유리한 이유를 이해하지만 디버깅 목적으로 동작을 비활성화하고 싶습니다.

답변:


8

개발자 도구 상자 패널이 열린 경우 (와 같이) 캐시 컨설팅을 끄는 옵션을 설정할 수 있습니다 F12.

이 옵션을 설정하려면

  1. 모든 페이지 F12에서 개발자 도구 상자 패널을 열려면 누르 십시오.
  2. 해당 패널의 오른쪽 상단에있는 톱니 바퀴 아이콘을 클릭하십시오.
  3. "고급 설정 → 캐시 비활성화 (도구 상자가 열려있을 때)"를 확인하십시오.

캐시 리디렉션은 여전히 개발자 도구 상자 패널 개방없이 방문에서 캐시됩니다,하지만 캐시는 상담을하지 않고 업데이트되지 만큼 개발자 도구 상자가 열려 있습니다. 따라서 일시적 으로 Firefox가 리디렉션을 캐시하지 않거나 캐시에서 리디렉션을 제공하지 않도록 강제하지만 사용 사례로는 충분할 수 있습니다.

Firefox 41에서 확인되었습니다 . 다른 질문에 대한 Ryan Bemrose의 답변 에서 수정되었습니다 .


2

99 %의 상황에서 리디렉션을 캐시하는 것이 유리한 이유를 완전히 이해하고 있지만 그 동작을 비활성화 할 수 있습니까?

웹 서버 개발 관점에서이 작업을 수행하는 경우 "무한한 개발 조정"요구에 따라 브라우저 "캐시 캐시"동작이 변경 될 것으로 예상하는 것이이 짐승을 공격하는 잘못된 방법입니다. 웹 서버 리디렉션을 디버깅 할 때는 브라우저가 제공하는 전체 페이지 렌더링 출력 이 아니라 헤더 출력 을 확인하는 데 중점을 두어야 합니다.

대신 301 및 302 리디렉션을 디버깅하는 데 매우 유용한 헤더 만 반환 하는 방법 curl-I명령 줄 옵션을 배우는 것이 좋습니다 . 명령 행에서. 공식 curl매뉴얼 페이지에 설명 된대로 -I옵션은 다음과 같습니다.

-나는 향한다

(HTTP / FTP / FILE) HTTP 헤더 만 가져옵니다! HTTP 서버는 HEAD 명령을 사용하여 문서의 헤더 만 가져옵니다. FTP 또는 FILE 파일에서 사용될 때 curl은 파일 크기와 마지막 수정 시간 만 표시합니다.

예를 들어, a curl -I google.com를 수행하면 출력은 다음과 같습니다.

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:37:42 GMT
Expires: Mon, 11 May 2015 04:37:42 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

헤더를 통해 전체 리디렉션 체인을 따르려면 다음과 같이 -L옵션 (일명 :) --location을 명령에 추가하십시오 .

curl -I -L google.com

그리고 위치 재 지정 체인을 따르는 명령의 출력은 다음과 같습니다.

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: Mon, 11 May 2015 04:48:14 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

HTTP/1.1 200 OK
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=69d90e4d7a0fcbbb:FF=0:TM=1428727694:LM=1428727694:S=1xqS-toEoa5saQ7n; expires=Mon, 10-Apr-2017 04:48:14 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=pkHjv88MsTB_eB1OqqcMm03kTkFNOSaN4ZEiE5iGViEt7AiJWBc6R-0qJ5s1xu3i5Peg5aHOBHyr7n4-oAxyEE2cL_dBPRLYODst0H-Ztfgrf_6LYXXlix9eghSB8Hzc; expires=Sun, 11-Oct-2015 04:48:14 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding

HTTP/1.1 301 Moved Permanently뿐만 아니라 헤더 응답에 유의하십시오 Location: http://www.google.com/. 웹 개발 목표가 Apache 다시 쓰기 규칙 및 리디렉션과 같은 작업을 테스트하는 것이라면 curl -I조정 작업을 확인하는 데 도움이되는 최상의 도구입니다.

그리고 그 조정이 마무리되고 완성 된 후에 실제 브라우저에서 마지막 실행을 수행하여 모든 것이 현실화되도록합니다.


2

Firefox Firebug의 Net탭 아래에는 "캐시 비활성화"라는 옵션이 있습니다. 리디렉션 테스트를 수행 할 때이 기능을 켜고 그렇지 않은 경우이 기능을 해제했습니다.

여기에 이미지 설명을 입력하십시오


1

이동 about:config과 세트 모두 browser.cache.disk.enablebrowser.cache.memory.enablefalse로. "브라우저 캐시 비활성화"를 확인하는 것과 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.