SyuchiNikuRingの備忘録

お勉強したことをまとめておく場所。中の人の理解や感覚で書いているから不正確なことも多いかも。

Web serverとWeb applicationのまとめ。

やっほー。前回はストレージに関してまとめました。今回はウェブのserverとapplicationのまとめになります。

◎HTTP
言わずと知れたprotocol。protocolといえばこれが浮かんでくる方も多いのではないでしょうか。
デフォルトportはTCP80番。HTML/XMLで書かれたhypertextの転送を主目的とする、Web serverとWeb client(ブラウザ)間のコンテンツデータの送受信用のprotocol。

HTTPS(HTTP Security)
これもまた有名ですね。デフォルトportはTCP443番で、TLS/SSLを用いてHTTP通信をセキュアに行うためのprotocol。

◎SHTTP(Secure HTTP)
HTTPS以前のprotocol。対称鍵暗号アルゴリズムを使ってデータを暗号化する。現在はHTTPSに取って代わられ、ほとんど使用されていない。

◎HTTP Method
HTTP通信中の命令。

  1. GET:ページの取得をserverに要求。
  2. POST:ブラウザでフォームに入力したデータをserverに転送する。
  3. HEAD:serverにヘッダ情報のみを要求する。

★HTTPの特徴

  • 要求と応答は個別に1対1対応で実施する点。いわゆるstatelessなprotocol。

cf. application層のprotocolの多くはTCP connection上で関連する複数のやり取りを行うセッションを実行する。

  • keep-alive機能を使う(HTTP/1.1)

一つのTCPコネクション内で複数のHTTPセッションを実行できる。コネクションの切断はコネクションフィールドに"Close"を設定して、これを要求する。ただし、要求と応答は1対1対応。複数のセッションが可能というのは、一回のセッションごとにコネクションを切断しないというだけ。

  • HTTPのState維持

statelessなHTTPに代わってWeb applicationがセッションIDを生成し、そのセッションID情報をWeb clientに渡して共有することでHTTPセッションに関連性を持たせて管理する。
【セッションIDの受け渡し方法】

  1. URL parameter:GET要求でURLの末尾に”?変数名=値”を追加してIDを取得。
  2. hidden field:HTMLの入力フォームで<INPUT>メソッドにhidden属性を指定したfieldにIDを指定する。ブラウザにはfieldは表示されない。
  3. cookiecookie内にIDを指定する。

今回はここまで。ようやくTelnetからのまとめを消化できた…