ホームページ > ウェブフロントエンド > jsチュートリアル > ブラウザへの URL の入力から http リクエストの開始までの具体的なプロセスの紹介。

ブラウザへの URL の入力から http リクエストの開始までの具体的なプロセスの紹介。

不言
リリース: 2018-11-20 15:12:29
転載
2912 人が閲覧しました

この記事の内容は、ブラウザに URL を入力して http リクエストを開始するまでの具体的なプロセスに関するものです。必要な方は参考にしていただければ幸いです。

ユーザー入力 URL

ユーザーが URL を入力すると、このプロセス中にオペレーティング システムが入力イベントをブラウザーに渡します。たとえば、Chrome は過去の統計に基づいて、入力された文字に対応する Web サイトを推定します。たとえば、「goog」と入力すると、90% の確率で「www.google.com」にアクセスすることがわかります。以前の履歴に基づいているため、TCP 接続が開始され、車両の直前でレンダリングが開始された後に返されます。

次に、URL を入力して Enter をクリックします。このとき、ブラウザは URL を確認し、http である場合は Web に従って処理されます。

セキュリティ チェックが完了すると、ブラウザ カーネルは最初にキャッシュをチェックし、次に UA およびその他の HTTP 情報を設定して、さまざまなプラットフォームでネットワーク リクエスト メソッドを呼び出します。

注:
ブラウザとブラウザ カーネルは異なる概念です。ブラウザは Chrome と Firefox を指しますが、ブラウザ カーネルは Blink と Gecko を指します。これはレンダリングのみを担当します。 GUI やネットワーク接続などのクロスプラットフォームの作業は、ブラウザによって実装されます。

http ネットワーク リクエスト

DNS 経由で IP をクエリします。
ソケット経由でデータを送信します

dns。 query ip

DNS (英語では Domain Name System、中国語では Domain Name System) は、ドメイン名と IP アドレスを相互にマッピングする分散データベースです。前提 ユーザーがブラウザに www.google.com と入力すると、おおよそのプロセスは次のようになります。

入力がドメイン名である場合、ドメイン名を IP に解決するために DNS クエリが必要です。 ##DNS クエリを実行する ホストまたはソフトウェアは DNS リゾルバーと呼ばれ、ユーザーが使用するワークステーションまたはコンピューターはリゾルバーです。ドメイン名解決は、DNS リゾルバーを使用して、対応する IP を取得するプロセスです。リゾルバーは、処理のためにドメイン ネーム サーバーにクエリを実行します。

主なプロセスは次のとおりです:

ブラウザ キャッシュからドメイン名 www.google.com の IP アドレスを検索します

  1. ブラウザのキャッシュで見つからない場合は、オペレーティング システムのキャッシュで検索します。この手順では、ローカル ホストも検索して、対応するドメイン名マッピングがあるかどうかを確認します (もちろん、マッピングされています)。システム DNS キャッシュにキャッシュされます)

  2. システム内に見つからない場合は、ルーターにアクセスして見つけてください。通常、ルーターには独自の DNS キャッシュがあるためです。

  3. 上記のいずれも見つからない場合は、DNS ドメイン ネーム サーバーへのクエリを続行します。

ユーザーのコンピュータのリゾルバが LDNS へのドメイン名解決要求を開始します。 (つまり、ローカル DNS、インターネット サービス プロバイダー ISP) www.google.com の IP アドレスをクエリします。これは再帰的な検索プロセスです。

  • キャッシュがヒットしない場合、LDNS はwww.google.com の IP アドレスのルート ドメイン ネーム サーバー、LDNS クエリ このプロセスは反復クエリ プロセスです

  • ルートは LDNS に、対応する IP がわからないことを伝えますwww.google.com ですが、com ドメインの認証サーバーに問い合わせることができることはわかっています。このドメインは彼が管理するものです。

  • LDNS は com の認証サーバーに対応する IP アドレスを問い合わせます。 www.google.com

  • #com は LDNS に、www .google.com に対応する IP はわかりませんが、google.com ドメインの認証サーバーに問い合わせることができることを示します。このドメインは彼によって管理されています。

  • LDNS は google.com www.com に対応する IP アドレスを要求します。 #google.com は独自の ZONE ファイル (ゾーン ファイル レコードとも呼ばれる) をクエリし、www.google.com に対応する IP アドレスを見つけて LDNS に返します

  • LDNS はレコードをキャッシュします

  • #その後、ユーザーのコンピューターのパーサーは結果を取得し、結果を独自の DNS キャッシュにキャッシュします。オペレーティング システムに保存され、ブラウザに返されると、ブラウザは引き続きそのデータを一定期間キャッシュします。

  • ,
  • ドメイン名クエリはCDNスケジューラを経由している可能性があります(CDNストレージ機能がある場合)
  • そしてDNS 解決には非常に時間がかかるため、解決するドメイン名が多すぎると、最初の画面の読み込みが遅くなりすぎることを知っておく必要があります。DNS プリフェッチの最適化

  • tcp/ip request## を検討してください。
# IP アドレスを使用すると、Socket API を介してデータを送信できます。このとき、TCP または UDP プロトコルを選択できます。

http は本質的には tcp プロトコルです。
TCP は、コネクション指向のトランスポート層プロトコルです。これにより、両端 (送信側と受信側) の通信ホスト間の通信が到達可能であることが保証されます。伝送中のパケット損失や伝送障害などの異常事態に対処できるほか、ブロードバンドを効果的に利用してネットワークの混雑を緩和します。

TCP 接続を確立するには、最初に 3 つのハンドシェイクが必要です。

最初のハンドシェイクは接続の確立を要求するもので、送信側は接続要求メッセージを送信します。

2 番目のハンドシェイクは送信側から送信された To メッセージを受信すると、送信側が接続を確立しようとしていることがわかります。次に、受信側は送信側にメッセージを送信します。

送信側は、送信されたメッセージを受信した後、返された内容が正しいかどうかを確認する必要があります。確認パケットを送信します。

TCP 接続が確立された後、HTTP リクエストを送信できます。

注意
ブラウザには同じドメイン名に対する接続数に制限があり、ほとんどの場合は 6 です。http1.0 では、多くの場合、1 つのリソースのダウンロードが tcp/ に対応する必要があります。 ip リクエストですが、HTTP 2.0 に似ています。このプロトコルはデータの送信に 1 つの TCP 接続のみを使用しますが、パフォーマンスは向上しており、リクエストの優先順位も実装できます。

以上がブラウザへの URL の入力から http リクエストの開始までの具体的なプロセスの紹介。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート