[ja] apply patch]

This commit is contained in:
Shin Kojima
2014-09-21 21:07:48 +09:00
parent 448ac00679
commit 12fc04ff11

View File

@@ -85,6 +85,8 @@ HTTPプロトコルはステートレスです。同じクライアントの前
//空行、リクエストヘッダとボディを分けるために使われます。
//ボディ、リソースへのリクエストのオプション、例えばPOSTが渡すオプション
HTTPプロトコルはサーバに対して交互にリクエストを送る方法が定義されています。基本は四種類。GET,POST,PUT,DELETEです。ひとつのURLアドレスはひとつのネットワーク上のリソースを描写しています。またHTTPの中のGET, POST, PUT, DELETEはこのリソースの検索、修正、増加、削除のつの操作に対応しています。よく見かけるのはGETとPOSTです。GETは一般的にリソースの情報を取得/検索するために用いられ、POSTはリソース情報を更新するために用いられます。
fiddlerパケットキャプチャを通して下のようなリクエスト情報を見ることができます。
![](images/3.1.http.png?raw=true)
@@ -95,13 +97,12 @@ fiddlerパケットキャプチャを通して下のようなリクエスト情
図3.5 fiddlerがキャプチャしたPOST情報
**GETリクエストのボディが空であることがわかります。POSTリクエストにはボディがあります**
HTTPプロトコルはサーバに対して交互にリクエストを送る方法が定義されています。基本は四種類。GET,POST,PUT,DELETEです。ひとつのURLアドレスはひとつのネットワーク上のリソースを描写しています。またHTTPの中のGET, POST, PUT, DELETEはこのリソースの検索、修正、増加、削除のつの操作に対応しています。よく見かけるのはGETとPOSTです。GETは一般的にリソースの情報を取得/検索するために用いられ、POSTはリソース情報を更新するために用いられます。
GETとPOSTの区別を見てみましょう。
1. GETが入力するデータはURLの後に置かれます。?によってURLと渡すデータを分割します。オプションの間は&で繋ぎます。例えばEditPosts.aspx?name=test1&id=12345。POSTメソッドは入力するデータをHTTPパケットのBodyの中に置きます。
2. GETが入力するデータの大きさには制限があります。ブラウザのURLに対する長に制限があるためです。またPOSTメソッドで入力するデータには制限がありません
3. GETメソッドで入力されたデータはセキュリティの問題を引き起こします。例えばログイン画面があったとして、GETメソッドでデータを入力した場合、ユーザ名とパスワードはURL上にあらわれてしまうことになります。もしページがバッファリングされていたり他の人によっがこのマシンにアクセスすることができれば、ヒストリログからこのユーザのアカウントとパスワードを取得することができてしまいます。
1. GETリクエストのボディが空であることがわかります。POSTリクエストにはボディがありま
2. GETが入力するデータはURLの後に置かれます。?によってURLと渡すデータを分割します。オプションの間は&で繋ぎます。例えばEditPosts.aspx?name=test1&id=12345。POSTメソッドは入力するデータをHTTPパケットのBodyの中に置きます。
3. GETが入力するデータの大きさには制限があります。ブラウザのURLに対する長に制限があるためです。またPOSTメソッドで入力するデータには制限がありません。
4. GETメソッドで入力されたデータはセキュリティの問題を引き起こします。例えばログイン画面があったとして、GETメソッドでデータを入力した場合、ユーザ名とパスワードはURL上にあらわれてしまうことになります。もしページがバッファリングされていたり他の人によっがこのマシンにアクセスすることができれば、ヒストリログからこのユーザのアカウントとパスワードを取得することができてしまいます。
### HTTPレスポンスパケットサーバ情報
HTTPのresponseパケットを見てみることにしましょう。構造は以下のとおりです