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は文字数制限があります。)

GETとPOSTの使い分け ついでにPUTとDELETE
GETとPOSTの違い
わわわのIT用語辞典 「GETメソッド」と「POSTメソッド」の違い

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

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

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

参考文献

全体的な流れはこちら

SoftWare Design 10月号

HTTPリクエストのやりとりについて
とほほのWWW入門 HTTP入門

ステートレス、ステートフルについて
ステートフル ステートレスとはどういうことか

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

執筆者:


comment

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

関連記事

no image

mod_aliasに関して

同一ドメインでパスによってルートディレクトを分けたい時。 この場合、apacheの設定ファイルをいじることになります。 一般的にはhttpd.confではなく*.confと言った設定ファイルを使い、エ …

no image

herokuでのhttpd.conf設定

前回の記事でLet’s EncryptでSSL設定する場合、 http://ドメイン/.well-known/ というURLにアクセスする必要があります。 ただherok …

no image

ログ抽出コマンド特集 その2 シェルスクリプトの算術計算、配列とループ

前回の続きですが、ログを収集し、分布(80%台が~%、70%台が~%)を出したいとします。 Contents1 ロジック2 ソース3 気づいたこと4 参考リンク ロジック ロジックは以下のような流れに …

no image

pidファイルに関して

サーバー上であるサービスを動いている(と思っている)時にstopしようとしたらpidファイルがありませんと怒られました。 pidファイルってよく聞くけどわかっていなかったのでこれを機にメモ。 Linu …

no image

Linux環境下でのdockerのインストールについて

CI/CDがらみのプロセスでdockerを使っていたのですが、Linux環境下でのdockerのインストールについてメモ。 Contents1 yum -y install docker2 docke …

アーカイブ