Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

【Webを支える技術】第1部 Web概論をざっくりまとめてみた

目次

なぜこの記事を書いたか

本を読むだけだと、読むだけで終わってしまい、「結局何なの?」が自分の中で明確にならないので、記事にしました。

インターネットとは何か?

インターネットとは、世界中のネットワークとネットワークを相互接続したネットワークのことです。ネットワークのネットワークとも言えます。

外のネットワークとどうやって接続するのか?

私たちが使っているPCやスマートフォンは家や会社のネットワークに属しています。そのネットワークは、ルータやインターネットサービスプロバイダー(インターネットに接続できるサービスを提供する事業者)を利用することで、外のネットワークに接続することができます。

Webとは何か?

Webとは、インターネット上でWebブラウザを用いて文書や他のWebリソースにアクセスできる情報提供システムです。文書はHTMLで構成されています。そして、文書にはハイパーリンクを埋め込むことができます。そのため、参考資料等の関連する文書をネットワーク経由で簡単に閲覧できます。WebサイトはWebサーバを実行しているコンピュータに保存されています。文書間の繋がりが蜘蛛の巣のように見えた為、World Wide Web(Web)と呼ばれるようになりました。

Webブラウザを利用することで、情報がどのコンピュータに存在するかということを意識することなく、マウスでクリックするだけで関連するさまざまな情報にアクセスできます。

Webの2つの側面

  • ハイパーメディア(テキスト、画像などのメディアをハイパーリンクで結びつけて構成したシステム)
  • 分散システム(複数のコンピュータでデータを処理する)

システムとは

システムとは、個々の要素が相互に影響しあいながら、全体として機能するまとまりや仕組みのこと。大きなシステムの一部を構成する、より小さな単位のシステムはサブシステム(subsystem)と呼ばれる。

Webの用途

  • Webサイト
  • ユーザインターフェース(デバイスの設定画面やメールの編集画面等。ユーザーが直接メールサーバを操作しなくて良くなる。ユーザーのしたい操作をWebサーバがメールサーバに伝えてくれる)
  • プログラム用API(プログラム向けのインターフェース)

APIとは何か?

APIとは、外部のプログラムからアプリケーションの機能を利用するための仲介役みたいなものです。Web APIの場合、Webを経由して外部プログラムがAPIと接続します。プログラム向けのインターフェース(API)で返却されるリソースのデータフォーマットは、JSONXMLなどのプログラムで解釈・処理しやすいものを使います。

Webを支える基本的な技術

Webは複数の技術によって実現されている。

  • HTML
  • URI (リソースを特定するための一意なID。プログラムはURIを用いてリソースの表現する情報にアクセスできる。)
  • HTTP (異なるコンピュータ間のWebにおけるデータ通信の取り決め。8つのメソッドを定義している)
  • Webサーバソフトウェア(Apache HTTP Server等)
  • Webクライアントソフトウェア(ブラウザ)

インターネットとWebの違いは何か?

インターネットは世界中のネットワークを相互に接続して構成された大規模なネットワークです。Webはインターネットを利用して、情報を閲覧・公開する情報提供システムです。似たような言葉ですが定義は異なります。 余談ですが、初期のインターネットにはWebがなかったそうです。実験結果を研究者間で共有するのに、既存の電子メールやファイル転送技術では使い勝手が悪かったので、Webが提案・開発されました。

REST(Representational State Transfer)とは何か?

RESTとは、Webの設計思想です。4つの原則で構成されています。RESTの原則に従ったWebシステム(RESTfulなシステム)同士は、円滑に情報を連携することができます。HTTPでやりとりするデータはハイパーテキストだけではなく、「リソースの状態」の「表現」を運んでいるという主張が、RESTという命名につながっています。

RESTの原則

  • 統一インターフェース(HTTP。あるURIに対してGETやPOSTなどのリクエストメソッドを指定してリクエスト(GETリクエスト・POSTリクエスト等)を出すと、リソースの状態の表現を取得したり、リソースの状態の更新ができる。)
  • アドレス可能性(全てのリソースが一意なURIで特定できる)
  • 接続性(やりとりされる情報にリンクを含めることができる)
  • ステートレス性

リソースとは何か?

リソースとは、Web上に存在する名前を持った情報です。リソースは状態を持ち、URI(一意なID。名前とも捉えられる)で特定できます。クライアント側にリソースを返す場合、HTMLやJSONで表現します(リソースの表現)。

参考記事

ja.wikipedia.org

www.soumu.go.jp

https://wa3.i-3-i.info/diff661network.html

https://wa3.i-3-i.info/word1121.html

en.wikipedia.org

https://wa3.i-3-i.info/word12428.html

https://wa3.i-3-i.info/word12429.html

www.mulesoft.com

en.wikipedia.org

ja.wikipedia.org

システムとは - 意味をわかりやすく - IT用語辞典 e-Words