Chrome에서 리디렉션 캐싱을 중지하려면 어떻게해야하나요?


415

redirects(예쁜 URL을 위해 ) 사용하는 웹 응용 프로그램에서 작업하고 있습니다.

리디렉션이 작동하는 방식으로 논리를 디버깅하려고합니다. 그러나 Chrome은 리디렉션을 기억하며 코드를 변경 한 후에도 동일한 방식으로 리디렉션합니다.

이로 인해 문제를 해결하기가 매우 어렵습니다.

예를 들어로 리디렉션 /this하면 더 이상 /that리디렉션되지 않도록 코드를 변경하십시오 /this. Chrome이 여전히 (으)로 리디렉션 중 /that입니다. 리디렉션이 캐시 된 것과 같은 것 이것을 끄는 방법이 있습니까?


다시 시작할 때 이런 일이 계속 발생합니까? 새로운 세션으로 다시 시작한 후 중지해야합니다
— 임의

1
@random, 크롬을 다시 시작하면 문제가 해결되는 것 같습니다. 그러나 일반적으로 많은 창이 열려 있습니다 (예 : 문서, DB 연결, 자습서, 작업중 인 페이지 등). 문제를 해결하는 경우 문제를 파악하기 전에 여러 번 시도해야 할 수 있습니다. 나는 모든 창문을 계속 닫는 것이 이상적이라고 생각하지 않을 것입니다. 감사.
— JD Isaacks 2016 년

2
해결 방법 : 테스트하는 동안 302 (임시) 리디렉션을 사용하고 완료되면 301 (영구)로 전환하십시오. (주의 : 일부 브라우저 (Firefox)는 http에서 같은 페이지의 https 버전으로 갈 때 302 리디렉션을 캐시합니다.)
— TRiG

1
www.mywebsite/?someparam=somevalue나를 위해 새로운 작품을 입력
— Mustafa

1
@JDIsaacks 디버깅 전용으로 Chrome을 사용할 수 있습니다 (예 : Chrome Canary)
— athosbr99

답변:


329

Chrome은 301 리디렉션 을 캐시합니다 . 이 문제를 해결하고 탭을 열어 두려면 브라우저 캐시를 지우면됩니다.

Chrome 메뉴 크롬 메뉴> 설정> 고급 설정 표시 ...> 개인 정보 보호> 인터넷 사용 정보 삭제 ...를 클릭 합니다.

무엇을 선택하든 "캐시 된 이미지 및 파일"이 선택되어 있는지 확인하십시오.

그런 다음 인터넷 사용 정보 삭제를 클릭 하면 다시 테스트 할 수 있습니다.

리디렉션을 방금 수행 한 경우 지난 1 시간 동안의 데이터 만 삭제하면됩니다.

또는 시크릿 모드에서 테스트하고 개발하십시오. 브라우저가 닫힌 후 캐시가 플러시됩니다.


3
최신 크롬 버전 인 경우이 옵션은 "캐시 비우기"대신 "캐시 된 이미지 및 파일"
— Dan R

23
시크릿 모드에서도 계속 리디렉션됩니다.
— Gaia

2
@Gaia 님, Chrome 시크릿에서 문제가되는 것 같습니다. 테스트 중이라면 Firefox를 사용하는 것이 좋습니다. Firefox 개인 브라우징이
— 제대로

10
HTTP 301은 영구적 으로 이동 되므로 응답 캐싱이 완벽하게 허용됩니다. 응답을 캐시하지 않으려면 302 또는 307을 시도하십시오. en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection
— CVn

7
이에 대한 키보드 단축키는 Ctrl+ Shift+ Delete입니다.
— 0xcaff

151

이는 모든 인터넷 사용 정보 (현재 최고 답변에서 사용 된 방법) 를 지우지 않고 리디렉션을 위해 Chrome의 고정 메모리를 지우는 확실한 방법입니다.

  1. Mac 또는 Windows 에서 개발자 도구 패널을 엽니 다.optioncommandictrlshifti

  2. 새로 고침 아이콘을 클릭 한 상태로 유지 여기에 이미지 설명을 입력하십시오

  3. 메뉴가 열립니다

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

  4. 이 메뉴에서 세 번째 옵션을 선택하십시오 ( "빈 캐시 및 하드 다시로드")

이 세 가지 옵션이 어떻게 다른지에 대한 훌륭한 설명 이 있습니다 .

추신 : 리디렉션 다음에 Chrome이 올 때 마다이 단계를 수행하지 않으려면 DevTools에서 캐시 비활성화를 확인하고 DevTools가 열려있는 동안 Chrome은 리디렉션 캐시를 무시합니다 ( 이 답변 당 )


1
제쳐두고 : 이것은 Mac에서 사용할 수 없습니다.
— Arjan

5
이 캐시 된 리디렉션을 항상 삭제하지는 않습니다
— Claudiu Creanga

7
Mac에서는 사용할 수 있지만 개발 도구가 열려있는 경우에만 메뉴를 사용할 수 있습니다. 나는 이것이 Windows에서 동일하다고 가정합니다.
— Percy

1
@Arjan 그것은 Mac에서 사용할 수 있습니다 superuser.com/questions/304589/…
— Gaia

4
Mac OS X, 요세미티 https를 https로 리디렉션하기 위해 http와 싸우면서이 옵션 만 작동했습니다. "캐시 비활성화 (DevTools가 열려있는 동안)"를 포함한 다른 모든 것에는 차이가 없었습니다.
— Carles Sala

115

완벽한 솔루션은 아니지만 가짜 쿼리 문자열을 전달하거나 기존 쿼리 문자열에 가짜 매개 변수를 추가하여 Chrome이 캐시 된 리디렉션을 사용하지 못하게 할 수있었습니다. 예를 들어 ?q 쿼리 문자열이없는 URL 끝에 간단한 것을 추가하면 Max OS X의 Chrome 30에서 효과적이었습니다.


10
그렇습니다. example.com됩니다 example.com?.
— 나는

2
이것은 놀라운 속임수입니다. 나는 당신이 무기한이 사용할 수 있습니다 가정 ?abc, ?abc2... 등
— brentonstrine

2
이것은 나를 위해 작동하지 않았습니다. 다른 포트 (: 8080)를 사용하더라도 Chrome 버그처럼 보이는 https로 변경되었습니다.
— jwadsack 2019

이미 동일한 작업을 수행하고 있지만 항상 작동하지는 않습니다. 때때로 ctrl + shift + r (ctrl + f5)을 눌러 최신 버전의 웹 페이지 또는 페이지에 포함 된 부분 페이지를
— 가져와야

301 캐시 된 와일드 카드가 있으면 TLD 이후의 모든 내용을 "기억"하기 때문에 작동하지 않을 수 있습니다.
— dhaupin

92

이에 대한 "wontfix"Chromium 버그가 있습니다 .

이것이 예상되는 동작입니다.

참고 :

  1. 캐시 제어 헤더를 301에 추가하면 다음과 같이 수행됩니다 (만료 등).
  2. 해당 리소스가 하위 리소스 인 경우 페이지를 다시로드하면 서버에서 리디렉션이 다시 확인됩니다.
  3. 전체 캐시를 잃어 버릴 필요는 없습니다. 리디렉션을 따라 지난 시간을 삭제하십시오.

"마지막 시간 삭제"는 무엇입니까? 방법? 어떻게합니까?
— Mikaël Mayer 2016 년

1
@ MikaëlMayer "내역> 인터넷 사용 기록 삭제"를 클릭하면 데이터를 제거 할 기간 ( "지난 시간", "지난 주"등)을 선택할 수 있습니다.
— dbr

아니..! 사이트의 브라우징 데이터를 지우 면 301 리디렉션 동작이 제거 되지 않습니다 . 어쨌든 Chromium 64.0.x에는 없음
— patricktokeeffe

"1 시간"을 지우면 모든 Google 제품 및 계정에서 로그 아웃됩니다. 좋은 충고 ...
— Luciano Fantuzzi

> 전체 캐시를 잃어 버릴 필요는 없습니다. 리디렉션을 따라 지난 시간을 삭제하십시오. 여전히 수정하지 않은 기능인 "마지막 리디렉션 삭제"보다 더 나쁩니다.
— rox0r

66

DevTools에서 "캐시 비활성화 (DevTools가 열려있는 동안)"옵션을 활성화 한 경우 세션을 계속 버리지 않고 DevTools를 열어두면 리디렉션 캐시를 무시할 수 있습니다.


9
DevTools로가 열려있는 경우, 캐시를 삭제하는 빠른 방법이있다 : 참고 : 마우스 오른쪽 버튼을 클릭하여 새로 고침 버튼을 클릭하고 전체 다시로드를 선택;)
— user65130

5
이것은 항상 작동하지 않습니다. 캐시를 모두 삭제했지만 여전히 리디렉션 중입니다. 시크릿 모드에서만 작동하며 일관된 동작이 나타납니다.
— Claudiu Creanga

2
이것이 최고의 솔루션이 아닌 이유는 무엇입니까? 다른 사람들은 비교하면 끔찍합니다!
— Brian

4
더 이상 작동하지 않습니다. 아마도 2014 년에 일했을 것입니다
— 로드 Loh.

@LordLoh. 방금 최신 버전의 Chrome 에서이 작업을 시도했으며 예상대로 정확하게 작동했습니다. devtools가 닫히면 리디렉션이 캐시됩니다. 도구를 연 상태에서 페이지를 다시로드해도 리디렉션되지 않습니다.
— Mike Gossmann

20

Chrome은 HTTP 리디렉션을 캐시하고 리디렉션이 변경된 경우 사이트 확인을 중지합니다. 링크를 액세스하기 전에 리디렉션이 발생하기 때문에 사이트를 방문하고 강제로 새로 고침을 수행하는 가장 쉬운 방법은 사용할 수 없기 때문에이 방법은 실망 스러울 수 있습니다. 이 문제는 해결되지 않습니다 .

이 문제를 해결하려면 여기에 설명 된대로 인터넷 사용 기록을 지우 거나 아래 단계를 수행하여 기록을 잃지 않도록 할 수 있습니다.

  1. Chrome 개발자 도구를 엽니 다 개발 도구

  2. 설정을 클릭하십시오 설정

  3. 캐시 비활성화 확인 (DevTools가 열려있는 동안) 비활성화

  4. 원하는 사이트를 방문하면 캐시 문제가 해결됩니다.


2
네트워크 탭에도 "캐시 비활성화"옵션이 있습니다. 동일한 옵션입니다. 리디렉션을 디버깅하려면 "preserve log"도 사용하는 것이 좋습니다.
— Trendfischer

15

chrome : // net-internals로 이동하여 맨 오른쪽에서 드롭 다운을 열고 "캐시 지우기"를 선택하십시오. 버전 48부터는 캐시 된 301 (영구적 리디렉션)을 지우는 데 도움이 된 유일한 방법이었습니다.

업데이트 : 불행히도, 버전 71 (2018 년 12 월) 현재 Google은 net-internals 기능을 제거했습니다.


1
Chrome 56에서 작동
— spencer.sm

Chrome 67에서 계속 작동
— SCO

Chrome 71에서는 작동하지 않습니다. 인터넷 내부 이벤트 뷰어 및 관련 기능이 제거되었습니다.
— userlond

8

.dev 도메인은 Chrome 63 이상에서 HTTPS를 사용해야합니다.

2017 년 12 월 Chrome 63 이후 .dev (및 .foo)로 끝나는 모든 도메인은 사전로드 된 HSTS (HTTP Strict Transport Security) 헤더를 통해 HTTPS를 사용해야합니다.

여기에 더 많은 것 : https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/


이것은 확실히 내 범인이었습니다! 나는 도대체 무슨 일이 일어나고 있는지 알아 내려고 노력하고 있습니다. 이것을 게시 해 주셔서 감사합니다!
— Jabari

이 답변에는 더 많은 투표가 필요합니다. 질문자가 가진 문제는 아니지만 검색 결과에서이 답변을 찾는 많은 개발자들에게는 문제가 될 것입니다.
— bp.

하느님! 누가 그런 훌륭한 아이디어를 생각해 냈을까요!
— Pavel Niedoba

7

Chrome에서 단일 페이지의 리디렉션 캐시를 지우려면 소스 를보고 강제로 새로 고침 (CTRL + SHIFT + R)하세요.

이것은 소스 브라우저가 301 리디렉션을 자동으로 따르지 않기 때문에 작동합니다.


4
Chrome 25에서 나를 위해 작동하지 않았습니다
— swrobel

3
리디렉션이 모든 페이지에 대한 경우에는 작동하지 않습니다 . www가 있습니다. -> 아니 www. 리디렉션-리디렉션이 첫 번째 히트에 있으므로 아무것도 새로 고칠 수 없습니다. 페이지를 새로 고치려고 할 때마다 301을 따릅니다. 너무 늦었습니다!
— Ian Grainger

1
@Ian 주소 표시 줄에 입력하면 어떻게됩니까? view-source : www.example.com? 리디렉션되지 않고 새로 고칠 수 있습니까?
— Matthew Blackford

1
@MatthewBlackford AFAICT도 마찬가지입니다. 실제로 리디렉션 된 페이지의 소스를 얻습니다. TBH를 통해 내 테스트가 그렇게 훌륭하지는 않았습니다. 이 문제를 '수정'하기 위해 인터넷 사용 기록을 삭제했습니다.
— Ian Grainger

2
이것은 자바 스크립트 및 메타 태그 리디렉션에만 작동합니다. HTTP 리디렉션은 여전히 ​​따라
— fregante

6

여기에 설명 된대로 HSTS로 인해 발생할 수 있습니다

이 문제를 해결하기 위해 다음을 수행했습니다.

Chrome 주소 표시 줄에 "chrome : // net-internals / # hsts"를 입력하십시오. 페이지 맨 아래에는 QUERY 도메인 텍스트 상자가 있습니다-귀하의 사이트 (예 : localhost)가 브라우저에 알려져 있는지 확인하십시오.있는 경우, localhost를 삭제하십시오 위의 텍스트 상자를 사용하는 도메인 이제 사이트는 일반 HTTP를 사용하여 작동합니다


1
고마워 이것은 갑자기 https가 캐시를 리디렉션하는 데 도움이됩니다.
— Ruberoid

5

Chrome 또는 Firefox에서 "view-source : redirect.yoursite.com"을 입력하고 Enter 키를 눌러 리디렉션을 새로 고칠 수 있습니다. 그런 다음 해당 페이지를 새로 고치십시오. 이제 Chrome 또는 Firefox에서 리디렉션을 새로 고침해야합니다.


이것은 나를 위해 일한 유일한 대답입니다.
— JaredThirsk

4

리디렉션이 예상대로 작동하는지 확인하려면 wget 또는 이와 유사한 명령 줄 도구를 사용하는 것이 더 쉽습니다. 응답 헤더를 검사 할 수 있으며 리디렉션이 캐시되지 않습니다.


3

개발 목적으로 Chrome open DevTools 설정에서 "캐시 비활성화"를 확인하는 것이 좋습니다. 그런 다음 30x 리디렉션이 캐시되지 않으며 .htaccess 파일 등을 디버깅 할 수 있습니다! 여기에 이미지 설명을 입력하십시오


이상한 점은이 옵션이 도움이되지 않는다는 것입니다. 캐시를 비활성화했지만 여전히 네트워크 탭에 표시 301 Moved Permanently (from disk cache)됩니다.
— mgutt

네트워크 탭이 열린 상태에서 '캐시 비활성화'를 클릭하는 것과 동일합니다. 아니요-리디렉션을 지우지 않습니다.
— bshea

1
  1. 이동 chrome://settings/search#clear%20browsing%20data

  2. "인터넷 사용 정보 삭제"를 클릭하십시오

  3. "캐시 된 이미지 및 파일"을 확인하고 원하는 경우 나머지를 선택 해제하십시오.

  4. "인터넷 사용 정보 삭제"를 클릭하십시오

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


1

가장 간단한 방법, 하드 새로 고침. 보유 Ctrl+ R몇 초. 이렇게하면 리디렉션 및 정적 리소스가 지워집니다.


단순히 누르는 대신 왜 잡고 Ctrl+R있을까요?
— gronostaj

@gronostaj 내 대답이 평범하고 간단하지 않습니까 ?? . 보류하지 않으면 정상적인 새로 고침 일뿐입니다. 캐시 된 리소스 나 리디렉션을 지우지 않습니다.
— Ryu_hayabusa

홀딩은 여러 번 누르는 것과 같습니다. 메모장을 열고를 누르면 R여러 개의 R이 나타납니다. 이것은 정확히 동일하지만입니다 Ctrl. 지주 Ctrl+는 R몇 초 동안 초당 그것을 수십 번 눌러의 정확한 동일합니다. 그것은 현명하지 않으며 내장 된 새로 고침 메커니즘을 남용하고 문서화되지 않은 동작에 의존합니다.
— gronostaj

@gronostaj 네, 그것은 문서화되지 않은 행동입니다. 수락 된 답변이 저에게 효과적이지 않습니다. 그렇기 때문에 여기에서 공유했습니다. 캐시 된 리디렉션을 지우는 다른 방법이 없습니다. 다른 방법을 알고 있다면 자유롭게 공유하십시오.
— Ryu_hayabusa

시도했지만 작동하지 않았습니다 (전체 도메인에서 301 리디렉션).
— mgutt

1

전체 캐시를 잃고 싶지 않고 리디렉션이 여전히 캐시에 멈춘 경우 view-source : url 버전을 방문하십시오. 그것은 같은 URL의 리디렉션 캐시를 새로 고쳤습니다.


0

이 페이지에서 모든 답변을 시도했지만 Windows 명령 줄 창에서 flushdns를 실행할 때까지 아무것도 작동하지 않았습니다.

C:\Users\DBashyal>ipconfig /flushdns

Windows IP Configuration    
Successfully flushed the DNS Resolver Cache.

참고로, 나는 이미 한 Disable cache에서 언급 한 바와 같이 확인 이 대답.

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