![見出し画像](https://assets.st-note.com/production/uploads/images/43296366/rectangle_large_type_2_0be704ebeb4b753b7cc97e8af8507095.jpeg?width=800)
Webシステムとは
Webシステムの仕組み
WebとはWorld Wide Web(www)を省略したもので、
インターネット上で提供されているハイパーテキストシステム
(wikipedia引用)のことを指します。
これだけだとよくわからないので、「インターネット」と「ハイパーテキストシステム」という言葉に分解します。
まずインターネットとは世界中のコンピュータ同士が繋がってできたネットワークのことです。
世界中のコンピュータ同士が通信をするために、統一されたプロトコル(通信規約)が必要であり、そのために生まれたのが「TCP/IP」というプロトコルです。
インターネットはこのTCP/IPというプロトコルで繋がったコンピュータ同士のネットワークです。
次にハイパーテキストシステムとはリンク(ハイパーリンク)でドキュメント同士の移動が可能な文書=ハイパーテキスト(例:HTML)を利用したシステムのことです。
コンピューター間でのハイパーテキストを転送するための通信規約にHTTP(HyperTextTransferProtocol)というものがあり、Web閲覧はHTTPというルールに基づいて行われます。
HTTP以外の規約には、メール送受信ではSMTP、ファイル送受信ではFTPといった規約が存在します。
Webサイト閲覧の仕組み(クライアント・サーバー)
WebはHTTPプロトコルに基づいたコンピューター間の情報のやりとりです。
ただし単なるコンピューターという訳ではなく、Webクライアント・Webサーバー間の情報のやりとりと言い換えることができます。
HTTPは上記で述べたようなクライアント・サーバーモデルと呼ばれる通信モデルが採用されています。
クライアント・サーバーモデルとはやり取りするコンピューターでお互いに特定の役割を持たせて通信を行うモデルとなります。
クライアントにはサーバー側へHTTPリクエストを送る役割があり、サーバーはクライアント側へリクエストに応じたHTTPレスポンスを返す役割があります。
例えばクライアントから特定のリクエストを送り、サーバーはそのリクエストに応じた処理を行い、処理に応じた値の詰め込まれたHTMLを返却し、クライアントがそのHTMLを読み込んでWebサイトの見た目や内容を画面に反映しています。
Webクライアントの代表的なものとしてWebブラウザがあります。
GUIベースではChrome, Firefox, Microsoft Edgeなどが存在し、CUIベース(コマンドを利用したブラウザ)ではcurlが有名です。
WebサーバーはOSとWebサーバー用のソフトウェアがインストールされ、グローバルIPアドレスが固定的に割り振られてインターネットと常時接続されたコンピューターのことを指します。
OSはLinuxを乗せることが多く、様々な種類=ディストリビューションが存在します(CentOS, RedHat, Ubuntu, AmazonLinuxなど)。
Webサーバー用のソフトウェアにも様々な種類が存在し、代表的なものとしてはApache HTTP ServerやNginxなどがあります。
Webサイト閲覧の仕組み(DNSサーバー)
Webサーバーの条件としてグローバルIPアドレスが割り振られると説明しましたが、普段はhttp://www.example.com/のようにURLを入力して特定のWebサイトに接続します。
グローバルIPアドレスが固定的に割り振られているのでhttp://11.22.33.44/のように入力して接続することもできますが、たいていの場合はそのようにしてWebサイトにアクセスしません。
このwww.example.comと11.22.33.44の紐付け、つまり前者のアドレスにアクセスした際に後者の宛先IPアドレスにアクセスさせるように宛先IPアドレスを検索することを名前解決と呼び、名前解決はDNSサーバーによって行われます。
DNSサーバーにはお名前ドットコムやAWSのRoute53などがあります。
この記事が気に入ったらサポートをしてみませんか?