SSブログ
その他 ブログトップ

各種リダイレクトに関するブラウザの挙動の違い [その他]

サーバー側のリダイレクト要請には,302 Found,303 See Other,307 Temporary Redirectの3種があります。

302 Foundは元々302 Moved Temporaryで,メソッドを変えてはいけないはずだったのに,UAが守らないから303と307が出来たそうです (ref: [Studying HTTP] HTTP Status Code)。 というわけで,各種ブラウザで挙動を確認してみました。 ベースとなる環境は,Windows Vista 32bitになります。 また,名称はWindowsのタスクバーへの表示を使っています (Safari, Lynx除く)。


Internet Explorer 8.0.6001.18813CO
User-Agent
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
結果
302 Found
GET/POSTに対して,どちらもGETでリダイレクトした。
303 See Other
GET/POSTに対して,どちらもGETでリダイレクトした。
307 Temporary Redirect
GETに対してはGETで,POSTに対してはPOSTでリダイレクトした。その間,ユーザーへの問い合わせは存在しなかった。POSTの元のフォーム変数は保持された。
Internet Explorer 8.0.6001.18813CO (互換モード)
User-Agent
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
結果
302 Found
GET/POSTに対して,どちらもGETでリダイレクトした。
303 See Other
GET/POSTに対して,どちらもGETでリダイレクトした。
307 Temporary Redirect
GETに対してはGETで,POSTに対してはPOSTでリダイレクトした。その間,ユーザーへの問い合わせは存在しなかった。POSTの元のフォーム変数は保持された。
Mozilla Firefox 3.5.3
User-Agent
Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
結果
302 Found
GET/POSTに対して,どちらもGETでリダイレクトした。
303 See Other
GET/POSTに対して,どちらもGETでリダイレクトした。
307 Temporary Redirect
GETに対してはGETで,POSTに対してはPOSTでリダイレクトした。POST時のフォーム変数を再送信するかどうか問い合わせがあった。
Google Chrome 3.0.195.21
User-Agent
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.21 Safari/532.0
結果
302 Found
GET/POSTに対して,どちらもGETでリダイレクトした。
303 See Other
GET/POSTに対して,どちらもGETでリダイレクトした。
307 Temporary Redirect
GETに対してはGETで,POSTに対してはPOSTでリダイレクトした。POST時のフォーム変数を再送信するかどうか問い合わせがあった。
Opera Internet Browser 10.00 Build 1750
User-Agent
Opera/9.80 (Windows NT 6.0; U; ja) Presto/2.2.15 Version/10.00
結果
302 Found
GET/POSTに対して,どちらもGETでリダイレクトした。
303 See Other
GET/POSTに対して,どちらもGETでリダイレクトした。
307 Temporary Redirect
GETに対してはGETで,POSTに対しては再送信するかの問い合わせがあり,再送信する場合はPOSTで,しない場合はGETでリダイレクトし,キャンセルした場合は元のページのままであった。
Safari 4.0.3
User-Agent
Mozilla/5.0 (Windows; U; Windows NT 6.0; ja-JP) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9.1
結果
302 Found
GET/POSTに対して,どちらもGETでリダイレクトした。
303 See Other
GET/POSTに対して,どちらもGETでリダイレクトした。
307 Temporary Redirect
GET/POSTに対して,どちらもGETでリダイレクトした。
Lynx 2.8.6 日本語版
User-Agent
Lynx/2.8.6rel.4TH libwww-FM/2.14FM SSL-MM/1.4.1 GNUTLS/1.7.8
結果
302 Found
GET/POSTに対して,どちらもGETでリダイレクトした。
303 See Other
GET/POSTに対して,どちらもGETでリダイレクトした。
307 Temporary Redirect
GET/POSTに対して,どちらもGETでリダイレクトした。

IE8の307の挙動は,localhostでやっているからかもしれません。 それはともかく,Firefox, Chrome, Operaの307に対する挙動はよいでしょう。IEもPOSTで転送するのでまぁ許せます。 ただ,Safariはどうよ,と思いますが……。


タグ:Internet

re: リンクいろいろ [その他]

元ネタ:リンクいろいろ


Windows限定かつ曖昧な知識で。

ハードリンク
  • ファイルの実体に複数の名前を付ける為の方法。片方のファイルを開いて修正すると,もう一方も変更される。ディレクトリには作れない
  • Windows NT 4.0時代はBackupWrite APIを使って頑張って書いていたが,Windows 2000でCreateHradLink APIが追加され,気軽に作れるようになった
  • Windows XP以降ではfsutilでコマンドプロンプトから作成可能。Vistaではmklinkコマンドでさらに簡単になった
リパースポイント (再解析ポイント)
パスの解析の途中に別の処理を割り込ませる方法。シンボリックリンク~マウントポイントの実装に使われている。
シンボリックリンク/ジャンクション/マウントポイント
  • 他のファイルやディレクトリ,ボリューム名を内部 (BACKUP_REPARSE_DATA) に持っていて,それぞれへのアクセスを置き換える物。 早い話が,ファイルシステムネイティブなショートカットファイル/ディレクトリ。
  • 違いは,
    ジャンクション/マウントポイント
    • 実は一緒の物。絶対パスで保持していて,Windows 2000以降で利用可能
    • 作成するにはDeviceIoControl APIを使う
    • Windows Vistaのmklinkまで,コマンドプロンプトから作成する方法はなかった
    • 対象は,同一PCのみ
    • ネットワーク越しでジャンクションにアクセスした場合,サーバー側で再解析が起こる
    • ファイルへのジャンクションは,不可能ではない物の,BackupWrite API使うとか,パッチ当てるとか,裏技でしかできない
    シンボリックリンク
    • 絶対パスまたは相対パスで保持していて,Windows Vistaで利用可能
    • 作成するにはCreateSymbolicLink APIを使う
    • mklinkを使って,コマンドプロンプトから作成可能
    • 対象は,同一PCの他,ネットワーク越しのファイルへのリンクも可能
    • ネットワーク越しでシンボリックリンクにアクセスした場合,クライアント側で再解析が起こるので,本来のリンク先にネットワーク越しではアクセスすることができない
    • 管理者権限が必要
subst
リパースポイントと違い,ドライブにディレクトリを割り当てる方法。

こんなんでよいっすかね?>シャノンさん


タグ:Windows
その他 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。