99%の状況でリダイレクトをキャッシュすることが有益である理由を完全に理解していますが、とにかくその動作を無効にする方法はありますか?
Webサーバー開発の観点からこれを行っている場合、ブラウザーの「無限コストでのキャッシュ」動作が「無限の開発調整」のニーズに合わせて変更されることを期待するのは、この獣を攻撃する間違った方法です。Webサーバーのリダイレクトをデバッグするときは、ブラウザーが提供するページ全体のレンダリング出力ではなく、ヘッダー出力の確認に集中する必要があります。
したがって、代わりにコマンドラインから使用方法curl
と、-I
ヘッダーのみを返すオプションを学習することをお勧めします。これは、301および302リダイレクトのデバッグに非常に役立ちます。コマンドラインから。公式curl
manページで説明されているように、-I
オプションは次のとおりです。
-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/
。Web開発の目標がApacheの書き換えルールやリダイレクトなどをテストすることであるcurl -I
場合は、調整が何をしているかを確認するのに役立つ最適なツールです。
そして、これらの微調整が完了して完成したら、実際のブラウザで最終的な実行を行い、すべてが実現するのを確認します。