時々レスポンスデータの解析を行いますが、その都度、情報を調べないといけないので、
メモで必要な情報を残しておきます。
参考URL :
http://web-tan.forum.impressrd.jp/e/2010/01/12/7156
●HTTPリクエスト
1)1行目:HTTPリクエスト行
「メソッド」「URL」「HTTPのバージョン」の3つの情報が含まる。
メソッド:GET=HTTPリクエストでは「データ本体」は送られない
POST=HTTPヘッダーの後にデータ本体が続きます
2)2行目以降:HTTPヘッダー
・ユーザーエージェント名(User-Agent) :
ブラウザの種類やOSの情報
・リファラ(Referer) :
どのページから発生したリクエストなのかを示します。
例えば、ページAにあるリンクをクリックしてページBに行った場合に、ページBへのHTTPリクエストにリファラーとしてページAが入る
・更新されていたら(If-Modified-Since)/同じでなければ(If-None-Match) :
ブラウザは、一度表示したデータを「ローカルキャッシュ」として保存しておき、同じデータは何度も通信して取得しなくてもいいようにしています。そのときの情報となります。
・ クッキー(Cookie)
・受け取り希望(Accept、Accept-Language、Accept-Encoding、Accept-Charset)
● HTTPレスポンス
「レスポンス状態行」「HTTPヘッダー」「データ本体」の3つのパートがあります。
1)1行目:レスポンス状態行
ここには、「HTTPステータスコード」などが含まれます。
200番台は成功
200:OK、データを送ります
300番台はリダイレクト
301:新しい場所から取得してください(今後もずっと)
302:新しい場所から取得してください(今回だけ)
304:変更されていません(データ本体は送られない)
400番台はクライアント側のエラー
401:ユーザー認証が必要です
403:アクセスが禁止されています
404:見つかりませんでした
500番台はサーバー側のエラー
500:内部エラー
503:現在はサービス提供不可能
2)HTTPヘッダー
各種の状態を示す情報が入れられている部分です。
・コンテンツタイプ(Content-Type)
データがHTMLなのか画像なのかや、文字コードなどの情報。
・ 再利用期限(Expires)
取得したデータを再度サーバーに問い合わせなくてもブラウザが再利用していい期限(キャッシュの制御に使われる)。
・データの最終更新日時(Last-Modified)やエンティティ情報(ETag)
次回同じデータをリクエストする際に、これらの情報を使って更新されているかどうかを確認します。
・キャッシュ制御(Cache-ControlやPragma)
ブラウザや通信を橋渡しするプロキシが、データのキャッシュをどう扱うかの情報。
・接続状況(Connection)
接続を持続するのか(keep-alive)、毎回接続を切断するのか(close)。ブラウザもサーバーもHTTPバージョン1.1の持続接続(keep-alive)を使える場合、通信のやりとりが効率良くなります。
・移動先(Location)
0 件のコメント:
コメントを投稿