非エンジニアでもわかるwebサービスが動く仕組み
今回はwebサービスが動く仕組みについて誰でもわかりやすいように解説をしていきます。
サーバーとは?
サーバーとは私たちが普段使用しているコンピューターのことです。
サーバーにはいくつか種類があり、用途によって使い分けがされています。
例えばメールの送受信のために使用されるメールサーバーや、ファイルデータの保管・共有に使用されるファイルサーバーといったものがあります。
私たちがwebサイトを表示するために使用しているサーバーは、一般的に「Webサーバー」と呼ばれているサーバーになります。webサーバーは我々がみたいページをブラウザ(google chromeやInternet Explorer など)に表示してくれる役割があります。
具体的にどのような情報が送受信されるのか見ていきましょう。
大まかに以下がリクエストからレスポンスまでの流れになります。
webサイトが表示されるまでの流れ
1. googleなどで検索をし、表示された検索結果からサイトへアクセスをする
2. クライアント(自分が見ているPCやスマホのブラウザ)からサーバーにリクエスト が送られる
3. サーバーがページを表示するために必要な情報をブラウザへ返す
4. ブラウザが返ってきたデータをもとにページを表示する
用語の解説
リクエストとは
ブラウザがWebサーバーに対してページの情報を要求することを「リクエスト」と呼びます。
リクエストが送られる際はHTTPプロトコルに沿ってリクエストが送られます。
HTTPとは「Hyper Text Transfer Protocol」の略で、webサーバーとwebブラウザの間で情報をやり取りするための決まりごとの事です。一点注意すべきなのは、HTTPではデータが暗号化されていないため、 第三者に通信経路のどこかで内容を知られる可能性があります。 これを防ぐためには別で暗号化をするか、 暗号化されたHTTPSという通信手順を使う必要があります。
httpsとは、SSL/TLSプロトコルにより暗号化されたhttp通信の事で、
2018年にGoogle Chromeのアップデートにて、常時SSL化のされていないhttpのサイトには「保護されていない通信」として警告がでるようになりました。現在ではhttpsサイトであることが検索順位の指標の一つとなっており、ほとんどのwebサイトでhttpsが使用されています。
レスポンスとは
先程サーバーとはクライアント(ユーザー)から送信されたリクエストの内容に基づき必要なデータを返すことだとお話しました。具体的には以下のような処理が行われています。
・HTMLを返す
・データベースからデータを取得し、HTMLを生成して返す。
・取得したデータを元に、値の登録・更新・削除を行い、その結果を返す。
SSLとは?
https通信では、SSL/TLSプロトコルにより暗号化された通信を行うとお話しました。
SSL(Secure Sockets Layer)とは、Webサイトとサイトを閲覧しているユーザとのやり取り(通信)を暗号化するための仕組みです。
みなさんが利用しているインターネット上の情報は悪意のある第三者によって通信の中身を盗み見て悪用することが可能です。閲覧しているホームページのアドレスや、掲示板に書き込んだ内容、ショッピングサイトで入力したクレジットカード番号やパスワードなども盗み見ることが可能です。「ここままでは安全にインターネットが見られない!」ということで生まれたのがSSLという仕組みになります。このようなインターネットの脆弱を補うため、SSLはブラウザとサーバー間の「通信の暗号化」を行います。仮に途中でデータを盗み見られたとしても、データが暗号化されているため解読することは困難になります。
なお、SSLとは古い規格の名称であり、2014年に脆弱性が発見されたため翌年には使用が禁止されました。現在では、より安全なTLS(Transport Layer Security)という暗号化通信の規格が使われています。SSLが「SSL/TLS」や「TLS」と呼ばれるのはそのためです。しかしながら、世間ではSSLという名称が一般名称として定着しているためよく使用されていますのでご注意ください。
SSLサーバー証明書とは?
SSL化を行うにあたり、SSL証明書というものが必要になってきます。
SSL証明書には次の役割があります。
・通信相手に偽りがないことを保証する
通信先のサーバーがきちんと実在することを、公正な第三者機関である認証局(CA)が証明します。近年横行している、銀行や大手企業などになりすまし、個人情報などを盗み出す「フィッシング詐欺」への対策としても有効です。
・通信の暗号化
SSK証明証に含まれる鍵を用いて、ブラウザとサーバー間でやり取りされる個人情報などの通信データを暗号化することです。これにより、SSL証明書が導入されているサーバーが持つ鍵を使用してのみでしかデータは解読されず、悪意のあるユーザーがデータを覗き見ることを防止します。
SSLサーバー証明書を利用するまでの流れ
- ブラウザ:SSL通信をリクエストする
- サーバー:SSL証明書を送付する
- ブラウザ:電子署名の検証により「SSL証明書に記載されたドメイン」と「通信先のドメイン」が同じであることを確認する
- ブラウザ/サーバー:SSL通信を行うために共通鍵を交換する
- ブラウザ/サーバー:共通鍵を使って送受信するデータを暗号化・復号してSSL通信を成立させる
WebブラウザでもデベロッパーツールなどからSSL証明書を確認することはできますので、一度確認してみると理解が深まるかもしれません。
まとめ
webの基本的な仕組みをご理解いただけたでしょうか。
webの通信はユーザーとサーバーの2者間で行われており、決まりごとに沿ってユーザーがほしい情報をサーバーに伝え、サーバーはそれを判別して返すものだと説明をしました。
昨今のコロナ事情で企業の取り巻く環境は劇的に変化をしました。多くの企業で環境への対応やシステム化がすすみ、あらゆる人がITリテラシーを高めていくことが求められているように感じています。
とはいえ、リソースが足りずシステム化に対応できていない企業も多いのではないでしょうか。
弊社では中小企業を中心にIT化、DX化のサポートを行っています。お気軽にご相談ください。
中小企業をがっつりサポート!
当社では
など、企業のIT化のサポート・DX事業のサポートを行っています。
まずはお気軽にお問い合わせしてください。