情報ネットワーク論(2)

by 菊地時夫 — last modified 2008-07-15 08:35

7月15日(火)1限

アプリケーションプロトコル

  • HTTP
  • SMTP
  • POP
  • ssh

HTTP

  • HyperText Transfer Protocol
  • WWW ... World-Wide Web の構成要素
    • HTML (HyperText Markup Language)
    • URL (Uniform Resource Locator)

WWW の仕組み

HTTP の Philosophy

  • Simple is Best. ... 簡単
  • 「状態」を作らない
  • 要求 1回 ... 応答 1回

HTTP Specifications

  • TCP Port 80
  • HTTP/1.0
  • HTTP/1.1
    • Host ヘッダ必須
  • HTTP/0.9 (RFC 無し) もあった

HTTP のデータやりとり(Transaction)

  • TCP Connection
  • Client -> Server
    GET / HTTP/1.1
    Host: www.example.jp
    [空行]
  • Server -> Client
    200 OK
    Content-Type: text/html
    ...
    [空行]
    <HTML>
    ....
    

HTTP 要求の構造

  • Method (方式) URI HTTP-version
  • ヘッダ
  • 空行
  • データ(必要なら)

HTTP 応答の構造

  • 応答コード
  • ヘッダ
  • 空行
  • Entity (実体・データ・中身)

HTTP Methods

  • GET ... データの取得
  • POST ... データの送信(とそれに応じたデータの取得)
  • HEAD ... ヘッダのみの取得
  • その他 RFC-2616 9章

応答コード

  • 200 OK
  • 301 Moved Permanently
  • 403 Forbidden
  • 404 Not Found
  • 500 Internal Server Error
  • その他 RFC-2616 10章

ヘッダ

  • 一般ヘッダ (General Header)
  • 要求ヘッダ (Request Header)
  • 応答ヘッダ (Response Header)
  • 実体ヘッダ (Entity Header)

ヘッダの例

  • Host: www.example.jp
    • 要求ヘッダ
    • 仮想ホストの区別
  • Accept-Language: ja
    • 要求ヘッダ
    • 言語(日本語)
  • Content-Type: text/html; charset=UTF-8
    • 実体ヘッダ
    • 実体の内容タイプ(HTML文書)文字コード UTF-8

Content-Type のいろいろ

  • MIME Media Types
  • text/plain ... テキスト形式(平文)
  • image/jpeg ... 画像(JPEG圧縮)
  • audio/mpeg ... 音声
  • application/msword ... マイクロソフトワード

メールのプロトコル

  • SMTP ... メール送信・サーバー間転送
  • POP ... メール受信

メール伝送の全体像

SMTP

  • Simple Mail Transfer Protocol
  • TCP ポート 25
  • RFC-2821
  • コマンド進行によって「状態」ができる

SMTP Transaction

  • TCP Connection
    S: 220 smtp.example.com
    C: HELO mail.example.jp
    S: 250 OK
    C: MAIL From: foo@example.jp
    S: 250 OK
    C: RCPT To: bar@example.com
    S: 250 OK
    C: DATA
    S: 354 Start mail input; end with .
    C: Blah blah blah...
    C: .
    S: 250 OK
    C: QUIT
    S: 221 smtp.example.com closing connection
    
  • TCP Connection Close

ESMTP

  • Extended (拡張)SMTP
  • EHLO ... オプション・リストの要求
  • AUTH ... パスワード認証
  • STARTTLS ... 伝送チャンネルの暗号化

POP

  • Post Office Protocol Version 3
  • TCP Port 110
  • RFC 1939

POP Transaction

+OK Pop server starting.
USER foo
+OK Password required for foo.
PASS secret
+OK foo has 2 visible messages.
RETR 2
+OK 1997 octets
... (メール)
QUIT
+OK Pop server signing off.

問題

  • 次の記述のうち正しいものをふたつ選んで書きなさい(用紙は縦長、日付・学生コード・氏名を明記)
  • HTTP Transaction には「状態」が無い。
  • SMTP Transaction には「状態」が無い。
  • 拡張SMTP (ESMTP) ではユーザ認証を入れることができない。
  • POP ではユーザ名とパスワードによるユーザ認証が必要である。