Webとは何か
Webエンジニアへ転職する人が多くなっていますが、「そもそもWebってなんですか?」っていう方のために簡単に説明します。(私も初学者ですので誤りがあればご指摘いただけると嬉しいです。)
Web(World Wide Web)とは
Webとはインターネットで使用されるドキュメントシステムのことです。
特徴はWorld Wide Web =「世界に広がる蜘蛛の巣」という名前にある通り、インターネット上に存在する情報同士がリンクで繋がっている(ハイパーテキストシステム)点にあります。ちなみに「リンク」とは、文書の中に別の文書のURI(URL)を埋め込むことで、ユーザーがクリックして閲覧できる機能のことです。
その様が蜘蛛の巣みたいだったのでWorld Wide Webと名付けられました。
私たちユーザーはWebブラウザ(ChromeやSafariやInternet Explorerなど)を使って、Webサーバから文書の情報を得ることができます。
この便利なシステムを支えているのが
URI, HTML, HTTPという3つの技術です。
URI(Uniform Resource Identifier)
まずWeb上に存在する情報(リソース)を特定できるようにするためには、何らかの名前をつけて他の情報と区別しなければなりません。そこでURI(URL)というものでWeb上にあるリソースに名前をつけます。
一般的なURIは
プロトコル名://ホスト名(ドメイン名orIPアドレス)/パス
で示されます。
例えばこういうやつです。
https://qiita.com/junun
このURI(URL)は「Qiita.comというネットワークの、/junun というディレクトリに対してHTTPS通信でやり取りする」という意味になります。
ちなみにHTTPSとは、通信を暗号化することでHTTPよりも安全なプロトコルです。
このURIを一意でシンプルかつ寿命が長くなる(変更されない)ように設計することで、文書間のリンクを基盤としたWebが成り立っています。
HTML(Hypertext Markup Language)
HTMLはマークアップ言語です。マークアップ言語とは、タグ(<body>
や<h1>
など)で文書の構造を表現する言語です。HTMLを用いることで文書内に埋め込まれた画像や動画などへのリンクを表現することが可能になります。
HTTP(Hypertext Transfer Protocol)
ブラウザとサーバのやり取りに使用される通信がHTTPです。HTMLと同様にHypertextとあるようにハイパーテキストを転送するためのプロトコル(通信規約)です。
HTTP通信で行われることを大雑把に説明すると、
1ブラウザからサーバに何らかのリクエストを送ります。
2サーバがそのリクエストに対応するアプリケーションで処理して、ブラウザにレスポンスを返します。
基本的にサーバはリクエストを処理してレスポンスを返すだけという設計になっていることで、サーバのプログラムをシンプルに保つことができています。
「ステートレス」やHTTPメソッド、HTTPメッセージなどの重要な概念についてはまた別の記事にアップしようと思います。
まとめ
URI, HTML, HTTPという3つの技術が基本となってWebを実現しています。シンプルに設計されているからこそ、拡張性が高く、大規模なシステムが成り立っている点は非常にかっこいいと思います。(感想)