2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Webサイトが開く仕組みについてまとめてみる

Last updated at Posted at 2020-11-07

先日自身のサーバーがウイルスで汚染されて、サイトを開くことができなくなりました。

知人エンジニアの力を借りながら復旧したのですが、その際にWebサイトがブラウザで表示されるまで流れについて教えてもらったのでまとめておきます。
何度かYoutubeや本などで勉強したのですがその際は頭に入ってこなかったですね。

今回は、復旧作業を通して実際に手を動かしながら用語を照らし合わせていったので結構理解できたつもりです。
間違っている箇所や、抜けている箇所があるかもしれませんがご容赦ください。

名前解決(どこにアクセスするかを決める)

1 PCからURL(http:okalog.info)でDNSサーバーにリクエストが出される。
2. DNSサーバ(お名前ドットコム)から転送されて、DNSサーバー(Xserver)に命令を出す
3. DNS(Xserver)にあるIPアドレスをDNS(お名前ドットコム)を通して、PCに返す。

▶︎簡単に解説
PCからURLを送ります。例えば、私のブログでは、https://okalog.infoがURLになります。
46e8ef6120809abff40b6c7c84858ce8.png

この情報をDNSサーバーに送ります。私はお名前ドットコムでドメインを購入しているので、お名前ドットコムのDNSサーバーにつながります。
7ee1c257ef8d69b5fbb7f4f5cffebd93.png

お名前ドットコムでは、ドメインを購入しているだけでサーバーの契約はxserverでしています。
そのため、お名前ドットコムからxserverに情報(https://okalog.info)を転送してあげる必要があります。

普段この接続をなにも気にせず行っていたんですが、やっと理解ができました。347d1a6312c8492ae2aa226fbde3f804.png

1ec6b51d604e8cf05741489c2584bf10.png

そして、サーバーにはIPアドレスが設定されています。
例えばhttps://okalog.infoでは183.181.90.55がIPアドレスになります。
調べ方は簡単で、ターミナルでping okalog.infoと打つと、IPアドレスが表示されます。
347d1a6312c8492ae2aa226fbde3f804.png

話が逸れましたが、PCからリクエストされたURLがここでIPアドレスと紐づきます。
そして、PCにIPアドレスを返すことになります。

理解をしておくこととしては、ドメイン(https://okalog.info)=IPアドレス(183.181.90.55) ということですね。
なのでIPアドレスを検索すると、当然ドメイン(https://okalog.info)と同じページが表示されるのです。
cdcb813217f41c7d0b737388d0d5db03.png

※と思っていたのですが、うまく表示されませんでした。原因がわかったら記事更新します。
▶︎追記
リバースプロキシという技術があり、レンタルサーバーはこれを使用しているとのことでした。
難しい、、
https://qiita.com/zawawahoge/items/a931de1464ccaa228551

ちなみにGoogleのIPアドレス(172.217.24.78)で検索すると正しく表示されます。
1d68eded2bb332636c64250a42270d58.png

じゃあなんでドメインが必要なのかっていうと、数字の羅列では不便だからということですね。

クライアント・サーバーシステム

そして、IPアドレスを無事に取得したPCは、次は、APサーバーにファイル探しにいきます。
FTPソフトを使って接続しているのはこのAPサーバーになります。APサーバーには、index.phpimageフォルダなどが格納されています。基本的にindex.htmlindex.phpに書いてある文書などは、このAPサーバーのファイルに格納されている情報だけで出力することが可能になります。

では、DBサーバーには何が格納されているかというと、

  • 記事タイトル
  • 記事本文
  • 作成日時・更新日時
  • タグ・カテゴリー
  • ステータス

といった情報が格納されています。なので、<?php the_content; ?><?php the_title; ?>といったコードを書いて出力されている情報というのはDBサーバーから情報を取得しています。

ちなみに、DBサーバーとの接続を決定するファイルがwp-config.phpになります。
こんな感じで書いてあるので見てみてください。
f8fe5cca1e4a78bfed20dc236c84e770.png

まとめ

名前解決のあたりのDNSサーバーの説明がイマイチしっくりきておらずあっているのか不安ですが、なんとなく理解できたのでとりあえずOKにしています。
もう少し知識がついてきたら情報をアップデートしたいと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?