概要
HTTP(Hypertext Transfer Protocol)は、Webページにアクセスするためのプロトコルとして広く利用されています。
HTTPでは、HTTPメッセージによってクライアントとサーバ間のデータの受渡しを行います。クライアントからサーバへ送るデータをリクエスト、サーバからクライアントに返されるデータをレスポンスと呼びます。
メッセージは、メッセージヘッダとメッセージボディから構成されます。メッセージヘッダの先頭には、リクエストの場合はメソッド、レスポンスの場合はステータスが格納されます。
メソッド
主なメソッドの種類は以下になります。
GET | Webページの取得 |
POST | Webページの取得 |
HEAD | リソースのヘッダ情報を取得 |
PUT | Webページの内容を作成・置換 |
DELETE | Webページの内容を削除 |
CONNECT | プロキシにトンネリング通信を要求 |
TRACE | クライアントからのリクエストをそまま通す |
特にGETメソッドとPOSTメソッドの違いは以下になります。
項目 | GETメソッド | POSTメソッド |
データの格納場所 | URLの後ろに付加 | メッセージボディにセットしサーバの標準入力を使用 |
データの種類 | テキストのみ | テキスト、バイナリ |
データのサイズ | URLエンコードした状態で255文字まで | 制限なし |
秘匿性 | URLからデータの読取りや改ざんが可能 | URLからデータは読取れない |
アクセスログ | 記録される | 記録されない |
ステータスコード
主なステータスの種類は以下になります。
200 | OK | リクエストが正常終了 |
401 | Unauthorized | アクセス権が無い、または認証に失敗 |
403 | Forbidden | 閲覧権限が無いファイルやフォルダ |
404 | Not Found | Webページが見つからない |
500 | Internal Server Error | サーバ内部でエラーが発生 |
ヘッダ情報
メッセージヘッダには、リクエストとレスポンスの内容に応じた情報が入ります。
Authorization | 認証方式や認証情報(リクエスト) |
Referer | リンク元のURL情報(リクエスト) |
User-Agent | ブラウザの名称やバージョン情報(リクエスト) |
Cookie | クライアントがWebサーバに提示するクッキー(リクエスト) |
Set-Cookie | Webサーバがクライアントにセットするクッキー(レスポンス) |
Content-Type | 送信するファイルや文字セットの種類(リクエスト/レスポンス) |
Server | Webサーバのプログラム名やバージョン情報(レスポンス) |
Location | リダイレクトさせる先のURI情報(レスポンス) |
リファラー
リファラー(Referrer、メッセージヘッダでは”Referer”と表記)は、リンク元のURLがセットされます。そのため、Web管理者はReferrerを調べることで、自分のサイトがどのリンクから参照されているか分析することができます。
Referrerにはパラメタを含めたURLがセットされるため、URLにセッション管理情報などをセットしている場合には、それらの情報が漏えいする可能性があります。
クッキー
クッキー(Cookie)とは、Webサーバが、アクセスしてきたクライアントに対しブラウザを通じで一時的にデータを書き込むことで、相手を識別したり、セッションの状態を管理する仕組みです。
クッキーは、WebサーバがHTTPヘッダにセットすることで発行され、それ以降、そのサーバへのアクセス時には毎回自動的にHTTPヘッダに付加されます。クッキーには、以下のような制限があります。
- 1つのクッキーには最大4,096バイトのデータを記録可能
- 1つのWebブラウザには最大300個のクッキーが保存可能
- 1台のWebサーバは同じクライアントに対し最大20個のクッキーが発行可能

IT
マネジメント、セキュリティ、ネットワーク、システム

散策路TOP
古典物理、量子力学、物性論、数学、応用数学、力学、電磁気学、相対論、熱・統計力学、解析学、代数学、幾何学、統計分析、情報