トップ > インターネット > インターネット > IP Network Skill

IPを中心に、ネットワーク技術の説明。情報処理試験やベンダ試験対策に。ネスペ解説、技術動向解説。




[ IP Network Skill - No. 0337 - ] HTTPメッセージボディ

発行日: 2007/11/16

‥‥……━━━━━━ IP Network Skill No. 00000337 ━━━━━━……‥‥

     〜 HTTP その10 HTTPメッセージボディ 〜

‥‥……━━━━━━━━━━━━━━━━━━━━━━━━━━━━……‥‥

 【まえがき】

 技術評論社より11月18日発売予定のSoftware Design 12月号

 でオープンソースのIP-PBXソフトを特集しており、その一部

 として「VoIPの基礎知識」を執筆させていただきました。

 VoIPの歴史やH.323, SIPについて紹介しています。

 ご興味ある方は是非ご覧ください。

 さて、年賀状を考える季節になってきました。

 欠礼状(喪中はがき)が届き始めました。

 最近はメールで年賀状を済ませてしまう傾向にあるので、

 はがきの年賀状を準備したり、実際に受け取る数が10年、

 20年前よりだいぶ少なくなりました。

 その間、個人情報保護法の制定などがあり、年賀状などは

 個人情報のオンパレードでその取り扱いも注意しないと

 いけないな、など考えてしまいます。

 また、ITリテラシの高くない人でも、最近はパソコンで

 年賀状を作成することが多いです。

 私の家族もそうで、データベースをある年賀状ソフトで

 管理していたのですが、今年実家のPCが調子悪くなった

 ため、新しいPCに換えてデータを移行しました。

 ところがソフトのインストールまで古いPCとまったく同じ

 にしていなかったり、かれこれ10年ほど使ったPCなので

 昔のソフトが現在も入手できるか不明であるということ

 から、これまでのデータベースが使えず、また手入力し

 直さなければならなくなりそうだ、とのことです。

 (あとがきに続く)

╋━━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━━━━━━━━━━……‥‥
   ┃本┃日┃の┃試┃験┃対┃策┃問┃題┃ 
╋━━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━━━━━━━━━━……‥‥

 〔問題1〕HTTP/1.1のcontent-codingとして規定される圧縮コーディング
     のうち、誤っているものはどれか。

   1.bzip
   2.deflate
   3.gzip
   4.compress

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ネ┃ッ┃ト┃ワ┃ー┃ク┃の┃基┃礎┃講┃座┃
 ━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛
 -----------------------------------------------------------------
 この企画は処女作「TCP/IPネットワークステップアップラーニング」
http://www.Amazon.co.jp/exec/obidos/ASIN/4774116351/ipnetworksk01-22
 を基に構成変更、加筆、修正、省略。。。いろいろ手を加えたものです。
 TCP/IPネットワークステップアップラーニングは第3刷を重ねました!
 講習教科書などでご利用いただいています。
 -----------------------------------------------------------------

 【11.アプリケーションプロトコル】

 11.14. HTTP

 11.14.6. HTTPメッセージボディ

 11.14.6.1. HTTPメッセージ

 HTTPメッセージには、クライアントからサーバへのリクエストメッセージと

 サーバからクライアントへのレスポンスメッセージの2種類があります。

 各メッセージのフォーマットは以下で定義されます。

 generic-message = start-line
                   *(message-header CRLF)
                   CRLF
                   [ message-body ]
 start-line      = Request-Line | Status-Line

 start-lineは開始行、*(message-header CRLF)の*が0文字以上の文字列

 を示し、CRLFは改行コードを表します。つまりメッセージヘッダが何も

 ないか、ある場合は改行で終わる、ということです。

 メッセージヘッダの次はCRLFで、改行だけの1行が続きます。

 次がmessage-bodyで、ここにメッセージボディが入ります。

 start-lineはリクエストラインかステータスラインのいずれかとなります。


 11.14.6.2. エンティティボディ

 HTTPではエンティティボディ(entity body)という言葉が出てきます。

 これはHTTPメッセージのペイロードのことです。

 メッセージボディという言葉もありますが、これはHTTPメッセージとして

 意味のある一つのアプリケーションデータを指します。

 HTTPではメッセージボディを複数のHTTPメッセージに分割して送る事もあり、

 その場合1つ1つのメッセージ内容をエンティティボディと呼びます。

 
 11.14.6.3. content-coding

 content-codingはAccept-EncodingヘッダとContent-Encodingヘッダで使われ

 る値で、HTTPデータ(エンティティ)がどのようなフォーマットであるかを

 表します。

 具体的には gzip、compress、deflateという圧縮フォーマットとidentity

 という圧縮を行わないという値があります。


 11.14.6.4. transfer-coding

 HTTP/1.1ではChunked Transfer Coding(チャンク形式転送コーディング)が

 規定されています。これはエンティティボディを一定のブロック(チャンク)

 に分割し、ブロックサイズをヘッダに記述する方式です。

 transfer-codingはTEヘッダとTranfer-Encodingヘッダで使われます。

 分割されたデータをChunked-Bodyと呼び、1つ以上のブロックとトレーラ

 (trailer;終端データ)から成ります。(トレーラの後にはCRLF改行コードが

 入る。)

 各ブロック(チャンク)はチャンクサイズ(長さ)とチャンクデータで構成

 されます。
 

 11.14.6.5. media-type

 media-typeはHTTPでどのようなデータを送るかを表すものです。

 Content-TypeヘッダとAcceptヘッダで使われます。

 media-typeはタイプとサブタイプの組み合わせで表現され、HTMLファイルで

 あれば "text/html" となります。textがタイプで、htmlがサブタイプです。

 主なタイプとしては以下があります。

  text(テキストファイル), image(画像), audio(音声),video(動画),

   application(バイナリファイル) 

 media-typeの詳細はIANAのWebサイトに記載されています。

http://www.iana.org/assignments/media-types/


 11.14.6.6. マルチパート

 HTTPではマルチパートを使う事ができます。マルチパートとは、電子メールで

 使われるMIME(Multipurpose Internet Mail Extensions)の拡張仕様で、1つ

 のメールボディに複数のファイルなどを載せる事ができます。

 media-typeとしてmultipartが使われ、この中に複数の異なるmedia-typeのデー

 タが入りますが、各データはboundary(境界)パラメータで分割されます。

 RFC1867に以下の例がありますが、この場合boundaryパラメータはAaB03xで、

 各境界で "--AaB03x" と 先頭に--を付け、最後の境界では "--AaB03x--" と

 先頭と最後に--を追加します。

        Content-type: multipart/form-data, boundary=AaB03x

        --AaB03x
        content-disposition: form-data; name="field1"

        Joe Blow
        --AaB03x
        content-disposition: form-data; name="pics"; filename="file1.txt"
        Content-Type: text/plain

         ... contents of file1.txt ...
        --AaB03x--

 11.14.6.7. range-unit

 HTTPではGETメソッドを使って、WebサーバからWebページやWebコンテンツを

 取得できますが、バイト単位で部分的なコンテンツを取得することもできます。

 range-unitというパラメータでその範囲を指定します。

 range-unitはRangeヘッダとContent-Rangeヘッダで使われます。

 range-unitの単位はバイトです。

 たとえば、 "bytes=0-499" はデータの最初の500バイトを取得する、という

 ことになります。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
かんたんネットワーク入門
http://www.amazon.co.jp/exec/obidos/ASIN/477412124X/ipnetworksk01-22

 私のもう一冊の著書です。先日新宿の紀伊国屋に行ったら、平積み
 されていました、うれしかったです。
 ネットワーク入門の絵本で、初心者の方を中心に好評を得ています。
 新入社員やネットワークを扱う企業のバックオフィスの方々(営業や
 SEではなく、庶務、総務、アドミニストレータの方々)に自分の会社
 で扱っている製品やネットワークの基礎知識を持ってもらうのにも
 よい入門書です。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 解┃答┃と┃解┃説┃
 ━┛━┛━┛━┛━┛

 《本日の試験対策問題》
  (解答)1
   
  (解説)
    gzipはRFC1952で規定されるgzip (GNU zip) というファイル圧縮

    プログラムで生成される32ビットCRC付きフォーマットです。

    compressはUNIXのcompress圧縮プログラムで生成されるフォーマット

    です。

    deflateはRFC1951で規定されるdeflate圧縮とRFC1950で規定される

    zlibフォーマットが組み合わさったものです。

    bzipはbzipファイル圧縮ソフトで使われる圧縮方式で、gzipより圧縮

    率が若干高いですが処理に時間がかかります。
   
   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

◆◆◆◆◆◆ ┃ あとがき ┃ ◆◆◆◆◆◆

 (まえがきから続く)

 年賀状ソフトなど独自フォーマットの住所録や画像データ

 を使うことが多いと思いますが、住所録ならCSV形式や

 テキスト形式、画像データであれば bmp, jpeg や Adobe系の

 フォーマットへもエクスポートしておく、といったことが

 必要かもしれません。

 利用しやすいソフトウェアはありがたいですが、そのソフトが

 将来使えなくなってしまった事のことも考えたほうがよさそう

 です。

 音楽データでも同じ事がいえるかもしれません。

 レンタル店でCDを借りて、個人で楽しむために録音メディアに

 複製するとき、メディアとしてカセットテープ、MD、CD-R、

 そして現在ではPC内のハードディスクかiPodなどのMP3プレーヤ

 内のメモリに収まっています。

 同じ曲を、再生機器を変えるたびに異なるメディアに録音しな

 おしていました。

 PCアプリのファイルも、大切なものは長期に渡って利用できる

 ように、陳腐化しないフォーマットで保存しておくことが大切

 だと思いました。

 adzuki

………………………………………………………           
 IP Network Skill vol.000337 11/16/07
 発行者:adzuki http://www.xai.nu/ipnet  
…………… ipnet7@xai.nu ……           

◎ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄◎
| 新規購読・購読解除・バックナンバー ⇒ http://www.xai.nu/ipnet  
|  IP Network Skill 掲示板
|  ⇒ http://www.xai.nu/cgibin/ipnet/bbs.cgi  
|  バックナンバー一覧              
|  ⇒ http://xai.nu/ipnet/stack/index.html 
|  間違いご指摘
|  ⇒ メルマガにコメントを添えて返信ください。
◎_________________________________◎

 
このメルマガの読者になる
規約 
>> メルマ!の会報誌もお届けします

ブックマーク: はてなブックマークに追加del.icio.usに追加Buzzurlにブックマークニフティクリップに追加ライブドアクリップに追加Yahoo!ブックマークに登録My Yahoo!に追加Add to GoogleRSS

このメルマガを読んでいる人はこんなメルマガも読んでいます

のんびりやろう!情報処理試験! 〜1問1問コツコツと〜
ソフトウェア開発&基本情報技術者試験対策を中心に初級シスアドや高度区分まで幅広く対応。流行のIT用語の解説も行っているので,パソコンについて勉強した...
Office & VBA パーフェクトマスター
Excel・Access・Word等の今さら聞けない「疑問」、今すぐ知りたい「困った」、たちまち解決!のmoug(モーグ)がお送りする、関数初心者か...
ネットワークのおべんきょしませんか?
TCP/IPってなに?LANって?ルータって何をするの?というネットワークに関することをわかりやすく解説します。情報処理の試験を受ける方にもぴったり...
全部フリーソフト!!
ネット上にはこんなに便利なフリーソフトがいっぱい。お金なんか使わなくても、あると絶対にお得で楽しいソフトを1つずつご紹介します。
IPネットワーク考
インターネットのネットワークSEの実務者が、IPネットワークにまつわる話題、問題、技術について実務者ならではの視点から解説します。ネットワーク、TC...


この記事へのコメント


コメントを書く
コメントはありません。

おすすめキャンペーン

三井住友銀行カードローン
金利 年6.0%〜12.0%。最高500万円までお借入可能。
最短30分審査、即日カード発行可能。
お申込はこちら⇒

melma!協賛企業

就職ならen|

発行者プロフィール

ペンネーム :


このメルマガの読者になる

規約に同意する



このメルマガの最近の記事


このメルマガの最近のコメント


注目情報


新着記事トピックス