迷い人

日々勉強。勉強の先に何か見つかるといいなぁ

【書評】httpについて知る

プロになるためのweb技術入門からポイントを抜粋しています。

 

要約

  • HTTPリクエストにはGETとPOSTがあり、それぞれ特徴がある。
  • リクエストの届け先はIPアドレスで表現され、ホスト名をIPアドレスに変換するのはDNSサーバで行われる

 

WWWの世界でHTMLをやりとりするために定められたプロトコルが「HTTP」

 

HTTP通信は大きく「リクエスト(要求)」と「レスポンス(応答)」に分けられる

 

HTTPリクエストは「リクエスト・ライン」と「メッセージ・ヘッダ」がある

 

リクエスト・ライン

 

URIはURLとほぼ同じ

 

メッセージヘッダ

  • Accept
  • User-Agent
  • Host

 

HTTPレスポンスには「ステータス・ライン」「メッセージ・ヘッダ」「メッセージ・ボディ」がある

 

ステータス・ライン

  • HTTPバージョン ex) HTTP/1.1
  • ステータス・コード ex) 200
  • レスポンス・フレーズ ex) OK

 

メッセージ・ヘッダ

  • Server
  • Content-Type

 

メッセージ・ボディはHTMLファイルの内容がそのまま入っている

 

HTTPでは一度のリクエストで1つのリソースしか取得できないため、多くの画像を含むページは画像の数だけHTTPリクエストが発行されます。

 

リクエスト先のWebサーバはURLのホスト名の部分(www.littleforest.jp)で表せる。

 

ホスト名はIPアドレスに変換されてコンピュータは利用している。

 

ホスト名をIPアドレスに変換するのはDNSサーバの役割。

 

インターネットで情報を届けるためにはIPアドレスの他にポート番号の指定が必要。

 

URLでポートを指定しないとデフォルトで「80」が指定される。

 

リクエストするときのパラメータの渡し方にはGETメソッドとPOSTメソッドがある。

 

GETメソッドの場合、リクエスト・ラインにパラメータ情報を組み込んで渡す。

 

PHPであれは$_GET['パラメータ名']で取り出せる

 

POSTメソッドの場合、メッセージ・ボディにパラメータ情報を組み込んで渡す。

 

PHPであれは$_POST['パラメータ名']で取り出せる

 

GETリクエストの特徴

  • URLでパラメータが見えるのでセキュリティが低い
  • URLをコピペして渡すと同じ結果が得られる(副作用がない)

 

POSTリクエストの特徴

  • メッセージ・ボディに含まれているのでセキュリティが高い
  • 長いパラメータでも送れる