この記事では、私は私の読者は、Webの世界の非常に基本的な概念の画像を取得したいです。今日の市場の派手なもの、すなわち上の以前は、私が書いた記事 角度旅は、 の基本は反応する、 など。しかし、今日は、私は私の読者は、彼らがどのURLを打ったとき、彼らが最初に遭遇する旅に取得したいです。
トピックとしては自明である- 私たちはその後、任意のURLを打ったときに何が起こりますか? - はじめましょう!
説明する前に URLを打った後に何が起こるか、私たちは、URLが実際に何であるかを通過し、そしてどのようなURLの平均値の異なる部分なければなりません-右?任意の時間を無駄にすることなく、のは、URLの詳細を理解してみましょう。
URL - ユニフォームリソースロケータ
あなたはその完全な形に見れば、それは自明です:それは私たちがアクセスしたいリソースの場所を持っています。これは、ある 場所の住所 、我々はとの対話や情報を見つけるために行きたいです。
あなたの日常生活に見てみましょう。あなたには、いくつかの仕事のためにあなたの友人の家を訪問するか、情報を取得したい場合は、そのアドレスが必要です。同じことは、この大きなウェブの世界でここに行く:私たちは私たちがアクセスするWebサイトのアドレスを与える必要があります。 ウェブサイトでは、家のようなもので、URLがアドレスです。
URLの解剖学
今、私たちは、URLが何であるかを知っているが、我々はまだURLの部分については知りません。行こう!
のは、例を見てみましょう:
ここでは、最初の部分は、 「HTTPS」。これは、基本的には使用すべきプロトコルのブラウザに指示します。それはすることができ 、HTTP、HTTPS、FTP などAの プロトコルが ある 一連の規則 ネットワークを介して通信するためのブラウザを使用すること。 「HTTPS」 基本的には 安全なバージョン、すなわち情報は安全な方法で交換されます。
第二部 www.example.comは ある ドメイン名。あなたの友人の家にそれを関連付けることができます。それは、ウェブサイトのアドレスです。私たちは、そのウェブサイトのための情報を提供する責任があるサーバー(訓練を受けたコンピュータ)に到達するためにそれを使用します。待つ!あなたは、私は私も言及したドメイン名は、アドレスであるのに対し、URLがアドレスで言及秒前に、と思うかもしれません。あなたは混同されている可能性があります。混同してはいけません!
URLやドメイン名の違い
両者の主な違いは、ということです URLは完全なアドレスです。URL情報は、そのウェブサイトに到達した後、パスを交換する必要があり、それを通して方法について通知します。一方 、ドメイン名がURLの一部です。
のがよりよく理解するために私たちの前の例を見てみましょう。あなたの友人の家の住所は、ドメイン名がURLは友人の家のアドレス(ドメイン名)だけでなく、あなたが(別の部屋(安全)や皆の前でで話しのように通信しようとしているかを伝えるだけではなく、一方であると言うことができます情報)リークを得ることができます。また、あなたが家の中に入った後になりますつまり、家のどの部分でパスを、伝えます。そのため、ドメイン名はURLの一部です。より多くの情報を持つドメイン名はURLです。
私はあなたがURLとはっきりしている今、願っています。のは次の部分に取得してみましょう。
ドメイン名
前の部分では、私はなく、深さで、ドメイン名について説明しました。私はあなたがより多くのそれに行きたいです。私はあなたに言ったように、ドメイン名は、ウェブサイトのアドレスです。これは、与え 一意のID あなたの ウェブサイトの ような巨大なウェブの世界では。はい-いいえ、2人のドメイン名は同じですが、することができます!「しかし」があります。これは、ドメイン名の定義だけではありません。その背後にある別の物語があります。のは、その話の中に入ってみましょう。
私たちが知っているように、ドメイン名を、我々は任意のURLを打つか、あなたが言うことができたときに、そのウェブサイトは、そのコンテンツで開かれます。サーバー(訓練を受けたコンピュータは)それを提供しています。我々はまた、すべてのコンピュータがインターネット上の通信に使用されるIPアドレスを持っていることを知っています。それは自己を説明する「IPアドレス」などのアドレスです。私たちはときに ヒット 任意の URLを、 我々は実際にされて ヒットしたIPアドレス 、ウェブサイトのコンテンツ(ホスティング)を提供する責任があるコンピュータのを。
しかし、今、あなたは地獄...すべてがアドレス何だと思うかもしれませんか?IPアドレスがある場合は、なぜ、このドメイン名が存在していますか?なぜ我々は、ウェブサイトのコンテンツを取得するためにIPアドレスを使用することはできませんか?
はい!あなたはできる IPアドレスを使用 して コンテンツを取得 ウェブサイトのを本当に!...うあなたは、各ウェブサイトの関連付けられたIPアドレスを覚えておくことができますか?明らかではありません!それはだ ハード ために IPアドレスを覚えて すべてのウェブサイトのを。ドメイン名が市場に入ってきた理由です。
あなたのコンタクトリストにそれを関連付けることができます。あなたはすべての人の番号を覚えてすることはできませんが、自分の名前を覚えています。同じ概念がここにも適用されます。あなたは 覚えていないことができ 、それらの恐ろしい IPアドレスを、しかし、あなたは簡単にすることができます 覚えて ドメイン名を。
このデータの膨大な量は、そのIPアドレスとドメイン名が格納されているデータベースに維持されています。それに対応するIPアドレスを格納したドメイン名はとして知られていることをシステム DNS(ドメインネームシステム) (私はあなたがそれについて聞いたことがあると信じていなければなりません)。
私は十分な基礎を議論してきたと思います。今、私たちはすべてのURLを打ったときのプロセスに深くダイブを得ます。
DNSは、IPアドレスを見つけるために、ルックアップ
URLを打った後、ニーズが発生することを最初にすることは、ドメイン名に関連付けられたIPアドレスを解決することです。DNSはこれを解決するのに役立ちます。 DNSは、電話帳のようなものです し、 IPアドレスを提供するために、私たちを助け 、当社の電話帳は、人の名前に関連付けられている携帯電話番号を与えると同じように、ドメイン名に関連付けられています。
これは概要ですが、そこにある 4層 、このドメイン名クエリが通過されては。のは、手順を理解してみましょう:
1. URLを打った後、 ブラウザのキャッシュが チェックされます。ブラウザは、あなたが以前に訪問したウェブサイトのためにある程度の時間のためのDNSレコードを維持しています。そこで、まず、DNSクエリは、ドメイン名に関連付けられたIPアドレスを見つけるためにここに実行されます。
キャッシュされたURLのクエリIP最近の閲覧には
2のDNSクエリが実行され二位 OSのキャッシュが 続い ルータキャッシュ。
マシン構成のホストとDNSのルックアップIPの設定
3.上記の手順で、DNSクエリが解決されない場合、それはリゾルバサーバの助けを取ります。リゾルバサーバは何もなく、あなたのISP(インターネットサービスプロバイダ)ではありません。クエリは、DNSクエリが実行されているISPに送られる ISPのキャッシュ。
IPのルックアップキャッシュを解決するために、ネットワークサービスプロバイダに送信されます
4.だけでなく、第三段階では、結果が見つかりません場合は、その要求はに送信する トップまたはルートサーバー DNS階層の。そこには、それが結果が見つかりませんと言うことが起こることはありませんが、実際には伝え、この情報はあなたが得ることができるところから。あなたはトップレベルドメインのIPアドレスを検索する場合(.COM、.NET、.GOV ,. ORG)。これは、検索するリゾルバサーバに伝え TLDサーバ (トップレベルドメイン)。
それはまだトップレベルまたはルートサーバに見えない場合は、情報の検索方法のいくつかを見つけることができません
5.今、リゾルバは、私たちのドメイン名のIPアドレスを与えるためにTLDサーバを要求します。TLDは、ドメイン名のアドレス情報を格納します。それはそれを尋ねるためにリゾルバに指示 権威ネームサーバ。
権威ネームサーバにTLDサーバとリゾルバ要求は、要求を送信します
6.権威ネームサーバは、ドメイン名についてのすべてを知るための責任があります。最後に、リゾルバ(ISP)は、ドメイン名に関連付けられたIPアドレスを取得し、ブラウザに送り返します。
IPアドレスを取得した後、リゾルバの店はそれにそのキャッシュ内の同じクエリが来た場合、次回は、それが再びこれらのすべてのステップに行く必要はありませんように。それは今では、キャッシュからIPアドレスを提供することができます。
将来の使用のためにキャッシュしながら、IPおよびISPは、ブラウザに送信されます
これは、すべてのドメイン名に関連付けられているIPアドレスを解決するために続いているの手順についてです。よりよく理解するために下記をご覧:
ブラウザがサーバとのTCP接続を開始
一度 IPアドレス (ウェブサイトの情報がある)は、コンピュータのされ たそれは、 接続開始 それとを。ネットワーク経由で通信するには、 インターネットプロトコルが 続いています。 TCP / IPは、 最も一般的なプロトコルです。接続は2と呼ばれるプロセスを使用したとの間で構築されている 「TCP 3ウェイハンドシェイク」を。のは、簡単でプロセスを理解してみましょう:
1. Aのクライアントコンピュータが送信し たSYNメッセージの 第二の計算機は、新しい接続またはないために開いているかどうか、手段。
2.次に 、別のコンピュータでは、新しい接続のために開いている場合、それが送信し たメッセージを確認 SYNメッセージと同様。
3.この後、 最初のコンピュータは 、そのメッセージを受信し、肯定応答によって 送信 ACKメッセージを。
より良い、ダイアグラム下記をご覧理解するために。
通信が開始(要求応答プロセス)
最後に、接続がクライアントとサーバの間で構築されています。今、彼らの両方が互いに共有情報と通信することができます。接続に成功した後、 ブラウザ(クライアント)が 送信 要求 への サーバー 、私はこのコンテンツを望んでいることを。サーバがリクエストごとに送信する必要がありますどのような応答のすべてを知っています。そのため、 サーバが戻って応答します。 この応答は、あなたが今、ブラウザが要求されたコンテンツをレンダリングなど、Webページ、ステータスコード、キャッシュ制御、のように要求されたことを、すべての情報が含まれています。
それでおしまい!我々はすべてのURLを打ったときに上記のすべてのプロセスが起こります。この長いプロセスが完了するまでに秒ほどかかりますが。これは、あなたの質問への答えである 私たちがブラウザに任意のURLを打つときに何が起こりますか?
読んでくれてありがとう!
自由のためのコードをご覧ください。freeCodeCampのオープンソースのカリキュラムは、40,000人以上の人々は、開発者として仕事を得るに役立っています。 始めましょう