ネットワーク

WebとHTTP

Web

Webとは?

World Wide Webを略してWebと言ったり、頭文字をとってWWW と呼ぶ。
→Web = WWW = World Wide Webの事

WWWとは、インターネット上においてハイパーテキスト形式で情報提供を行うクライアント・サーバーシステムである。ユーザーはブラウザ(Safari, firefox など)を用いてWWWの情報を画面に表示する。Webページには、文字、静止画、動画、音声、プログラムなど様々なデータを含めることができる。これらのデータへ簡単なマウス操作だけでアクセスできる。

Webの起源

Webの生みの親はイギリス人のティム・バーナーズ=リー博士です。ティムはCERN(セルン)という世界的に有名なスイスにある研究機関に在籍していました。CERNは、日本語では欧州原子核研究機構と言われていて、素粒子に関する物理学的な研究を中心に行っているところです。とても長い時間のかかる研究をしている機関なので、数千人、数万人の研究者が入れ替わり立ち替わりで研究を進めているそうです。そこで、CERNでは、こういった研究者の情報やデータ閲覧をスムーズにするシステムを開発できないかという話が持ち上がり、その実現に動いたのが、当時コンピュータ技術者としてCERNに在籍していたティム・バーナーズ=リーだったのです。ティムは、研究に関係のある文献やデータをとにかく1つのコンピュータに集めていきました。そしてさらにその文書同士を「リンク」させる仕組みを計画し、それを実現しました。これが、今でも私たちが使っているWorld Wide Web、いわゆるWebの始まりです。ティムは、このシステムを発表する時にどんな名前にするかとても悩んでいたようです。たとえば「The Information Mine」という、「情報鉱山」という候補があったようです。これは頭文字を取ると「TIM(ティム)」になりますね。さすがにそれは自分本位すぎる!と思って止めたんだ、と後に本人のWebサイトで語られています。他には「文書同士が繋がる情報網」ということで「編み目」を意味する「Mesh(メッシュ)」という名前も候補にあがりましたが、これは「混乱」を意味する「Mess(メス)」という言葉に聞き間違えるということで止めたそうです。「World Wide Mesh」=「世界規模の混乱」はむしろ避けたいものです。 そこで悩みに悩んで、世界中に広がる情報網が「クモの巣」のように見えるという理由で、「世界中に広がるクモの巣」=「World Wide Web(WWW)」と名付けたそうです。私たちが当たり前のように使っているWebサイトという言葉のWebの部分はティムのそういうひらめきから誕生した言葉だったのです。

参考サイト:https://www.internetacademy.jp/special/history.html

HTTP

HTTPのメソッド

GET

URIで指定した情報を取り出す。ファイルの場合、そのファイルの中身を送りだす。CGIプログラムの場合はそのプログラムの出力データをそのまま返送する

POST

クライアントからサーバーにデータを送信する。ファームに入力したデータを送信する場合などに使う

HEAD

GETとほぼ同じ。ただし、HTTPのメッセージ・ヘッダーファイルを送りだすだけで、データの中身を返さない。ファイルの最終更新日時などの属性情報を調べる時に使う

PUT

URIでしてしたサーバー上のファイルを置き換える。URIで指定したファイルが存在しない場合は、新たにファイルを作成する

DELETE

URIで指定してたサーバー上のファイルを削除する

URI→ページのデータを格納したファイルの名前やCGIプログラムのファイル名など

CGI→Webサーバー・ソフトからプログラムを呼び出す時のルールを定めたものでそのCGIのルールに則って動くプログラムのことをCGIプログラムといいます

 

HTTPリクエストメッセージ

<メソッド><空白><URI><空白><HTTPバージョン> //リクエストライン
<フィールド名>:<フィールド値> //メッセージ・ヘッダー



<空白行>
<メッセージ・ボディー> //メッセージボディー

GET /somedir/page.html HTTP1.1
Host: www.school.edu
User-agent: Mozilla/4.0
Connection: Close
Accept-language: fr

HTTPのレスポンスエッセージ

<HTTPバージョン><空白><ステータスコード><空白><レスポンス・フレーズ>//レスポンスライン
<フィールド名>:<フィールド値> //メッセージ・ヘッダー



<空白行>
<メッセージ・ボディー> //メッセージボディー

HTTP/1.1 200 OK
Connection close
Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …… Content-Length: 6821
Content-Type: text/html

data

 

HTTPのステータスコード(レスポンスメッセージの先頭行)

100番台:処理の経過状況などを通知する

200番台:正常終了

300番台:何らかの別のアクションが必要である事を表す

400番台:クライアント側のエラー

500番台:サーバー側のエラー

 

 

スポンサーリンク