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
조정 작업을 확인하는 데 도움이되는 최상의 도구입니다.
그리고 그 조정이 마무리되고 완성 된 후에 실제 브라우저에서 마지막 실행을 수행하여 모든 것이 현실화되도록합니다.