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

dockerコマンドについて再考(ttyや/bin/bashなど)

Contents1 ttyオプションに関して2 docker execコマンドに関して2.1 ログインしないパターン2.2 shellに関して ttyオプションに関して dockerでnodeを起動さ …

no image

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

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

no image

Addtypeについて

htmlにはPHPを埋め込むことができますが、拡張子がhtmlの場合、そのままでは実行できません。 この場合、通常では拡張子を変えなければいけないところですが、apacheを使っている場合、設定ファイ …

no image

サーバーの過負荷の発見 メモリ使用率の調査&抽出、置換(awk,sed)コマンドについて

前回、サーバーの負荷調査について記事を書いたので、それに関するスクリプトを。 Contents1 仕様2 ソース3 解説3.1 freeコマンド3.2 awk3.3 sed 仕様 日付とメモリ使用率、 …

no image

wordpressでのnginx設定

ここ1年、apacheではなく、nginxでサービスを作ることが多いため、設定にだいぶ慣れてきました。 今回はwordpressの設定です。 バーチャルホストでsample.comとアクセスをするとw …