skillup

技術ブログ

サーバー・ネットワーク

webサーバーがどのように動いているか(GETとPOST)

投稿日:2016年9月25日 更新日:

webがリクエストを受け取って画面に表示するまでの流れをおさらい。基本です。

全体の流れ

1 ユーザーがブラウザのURL欄にhttp://www.example.com/welcome.htmlと打ち込む

2 www.example.comのIPアドレスを調べる(この処理を行っているのがDNSサーバー)

3 www.example.comがわかったらこのホストの80番ポートにTCP接続をする(httpなので80番に接続)

4 TCP接続が成功したらhttpリクエストメッセージを送信する

HTTPリクエストメッセージの例(※ここではGET)

GETとPOSTの使い分け

GET

  • URLで保存ができる
  • 主に検索系のパラメータなど
  • 一般的には参照に用いること
  • 送るデータに限界があること

POST 

  • 更新をするデータを送信するとき
  • 個人情報などが変数に含まれるとき
  • 変数の量が非常に多いとき(※GETは文字数制限があります。)

http://scene-live.com/page.php?page=27
http://qiita.com/qiita_taro/items/66f2930c5d1cc10722e7
http://write-remember.com/archives/2530/
http://wa3.i-3-i.info/diff7method.html

5 webサーバーがリクエストを解釈し、レスポンスを返す

HTTPレスポンスの例(ブラウザのデバッグ機能で見れる)

通常リクエストとレスポンスのやりとりはステートレス(以前の状態を保持しない)だが、クッキーを使用することにより、セッションを成立させているようにみせることができる。

参考文献

全体的な流れはこちら

SoftWare Design 10月号

HTTPリクエストのやりとりについて
http://www.tohoho-web.com/ex/http.htm

ステートレス、ステートフルについて
http://blog.sojiro.me/blog/2014/09/13/stateful-and-stateless/

 

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ネットワーク基礎 OSI参照モデルなど

ここ↓でネットワークの基礎についてかいてあるので定期的に勉強しようと思っています。 http://www5e.biglobe.ne.jp/aji/3min/ Contents1 スニーカーネットからリ …

no image

カレントディレクトリ以下のすべてのCR+LFをLFに

windows環境からファイルをアップしていると文字コードがバラバラだったりすることが多々あります。 まあ何がめんどくさいかというと差分がチェックできない。これが最悪です。 gitのdiffコマンドの …

no image

大規模Webサービス技術入門 イントロ

一応WEBサービスを日々改修していますが、データが日々ふえ、大規模なサービスの対処法などを勉強する必要があるため、「大規模サービス技術入門」を少しずつ読んでいこうと思います。 ポイント データはディス …

no image

nginxの設定&php-fpmインストール

本日、久しぶりにPHPのWebアプリを別サーバーに移行したのですが、nginxの設定でかなり手間取りましたのでちょっと記録しておきます。 Contents1 nginxの設定1.1 インストール1.2 …

no image

Mailtrap テスト環境でメール送信を試したい時に使えるサービス

メールが絡んだ時のテストって難しいですよね・・・ ここだけは本番化した時に、1、2度お客さんに連絡して仕方なく本番でテスト・・・なんてことをやっておりましたが、つい最近、メールのテストが気軽にできるサ …