ブラウザでタイプHolbertonTool COMが発生したときにどうなるか

7684 ワード

あなたのブラウザのいくつかのURLを入力し、Enterキーを押すと、シーンの背後に行くすべてのものについての疑問がありますか?何か?さて、このブログ記事では、いくつかのWebアーキテクチャ関連のものと一緒にそのプロセスを説明します.
ダイビング前に、いくつかの前の概念を確認してみましょう.
- Uniform Resource Locator ( URL ) :単純な単語では、Webアドレスを指定できる文字列です.インターネット上のいくつかのリソースにアクセスしたり、アクセスしたい場合は、Webアドレスが必要になります.
-ドメインネームサービス( DNS ):これはコンピュータの命名システムです.レコードのエントリタイプ' a 'を使用して、ドメイン名をIPに関連付けるのに使います
DNS要求:いくつかのサーバIPを取り戻そうとしているリクエストのタイプ、我々が知っているすべてはドメインです、そして、我々が知りたいものはドメインが参照するサーバーのIPです.
伝送制御プロトコル/インターネットプロトコル( TCP/IP ) :インターネット上で広く使用されているプロトコルは、エンドツーエンドの通信を提供し、データがどのように扱われるかを指定する(パケット化、アドレス指定、送信など)
ファイアウォール:着信と発信トラフィックをフィルタリングすることによって、我々のネットワークを保護するのを助けるセキュリティ装置.
HyperText Transfer Protocol Secure(HTTPS):HTTPの拡張は、後者のプロトコルの安全なバージョンです、このプロトコルはトランスポート層セキュリティ(TLS)以前安全なソケット層(SSL)を使用してコミュニケーションを暗号化します、我々がこのプロトコルを使用して何かを要求するとき、その要求はポート443でデフォルトで送られます.
安全なソケット層(SSL):TLSの前任者は、インターネットの上の装置間の認証されて暗号化されたリンクを確立するのを助ける暗号化ベースのセキュリティ・プロトコルです.
-ロードバランサ:複数のサーバ間でネットワークやアプリケーショントラフィックを配布できるネットワークデバイス.
Webサーバ:HTTP経由で通信し、着信要求を待ち、それらのそれぞれに応答を返すソフトウェアとハードウェアは、HTML、プレーンテキストファイル、画像、ビデオなどの静的コンテンツを提供することができます.
-アプリケーションサーバー:ビジネスロジックの方法でホストアプリケーションとデータベースとの対話、複数のプロトコルを管理することができますし、アプリケーションとクライアント間の動的な相互作用に役立ちます.
-データベース:簡単に管理、更新、およびアクセスできるデータの組織化されたコレクション.
これらの概念を知ることで、Web世界がどのように機能しているのかを理解するのに役立つでしょう.
たとえば、私は次のURLを取るつもりです:あなたは、ブラウザの中にこのURLを入力するので、プロセスのシリーズは、他の後に1つを開始します.
  • お客様のブラウザは、このURLを取得するには、クエリの場所を知っていますか?
  • ウェブ上のどこかに行きたいならば、我々はその場所に我々を連れて行く方向に従わなければなりません、この場合、我々は我々が捜しているページがホストされるサーバーのアドレスを知っている必要があります、このアドレスはシリーズとして表されます.数はIPとして知っています、我々がこのIPアドレスを見つけるのを助けるために、DNSの使用が必要であるので、DNS要求が起こるでしょう、DNS記録タイプは以下の通りです:
    https://www.holbertonschool.com
    私たちにとって有用なものは、私たちが取り組んでいる例です.
    A, AAAA: The ‘A’ in the name stands for address, this type of DNS record helps map domains to IP’s, the difference between the two is the IP version each one is intended for, A for version 4 while AAAA is intended for version 6.
    CNAME: The name stands for Canonical Name, and is used to map alias names to actual domains
    
    この場合、我々は' www . holbertonschoolを探しています.' A 'のように、' A 'レコードは次のようになります.
    <>>
    この情報を取得するには、一連のクエリが発生しました.
    The browser checked its cache memory, if a similar entry was not found then it asked the operating system
    The operating system checked its memory, if not found then it asked the resolver
    The resolver (normally the Internet Service Provider), requests local DNS, if not found, then it asks the root server, then, to the top-level domain servers to finally get to the authoritative name servers, once the resolver gets the answer, it handles it to the web browser, so he can request the right IP.
    
    ブラウザは、対応するサーバーIP に要求を送信する
    一旦ブラウザがIPを知っているならば、それは我々がHTTPSを要求しているので、GET要求を送ります、使用されるポートは443です、この要求が成功するために、サーバーは暗号化を可能にして、確実に通信し始めるためにSSL証明書を持たなければなりません.
    Web上で使用できる一般的なリクエストメソッドをいくつか示します
    GET: Requests a representation of the specified resource.
    POST: Used to submit an entity to the specified resource, often causing a change in state or side effects on the server.
    PUT: Replaces all current representations of the target resource with the request payload.
    PATCH: Used to apply partial modifications to a resource.
    DELETE: Deletes the specified resource.
    OPTIONS: Used to describe the communication options for the target resource.
    
    HTTPS : www.holbertonschool.comを探していますので、次のように要求されます.
    www.holbertonschool.com’
  • TCP接続が確立され242479182
    クライアントとサーバーを理解するために、接続が必要です、そして、これはTCPが助けになるところです、基本的な接続確立は3つのステップで作られます:SYN、SYN - ACK、ACK.

    一旦接続が確立されるならば、もう一つのプロトコルは起こります、SSL/TLSは覚えています?私たちはHTTPSを求めています、そして、コミュニケーションは暗号化される必要があります.

    完全なプロセスは次のように理解できます.
  • サーバは新しい要求を受け取り、それを処理し、応答
  • を返す
    すべての通信を開始する設定!今、サーバーはブラウザによって作られたリクエストを受け取ることができます、したがって、覚えているならば、ブラウザーは若干のIPアドレスへのGET要求をしました、この例のために、我々が戻ったIPが若干のロード・バランサーのIPであると仮定しましょう、次に、何が起こるかは、次のように見えます.
    The request hits the load balancer
    The firewall will examine the incoming request, if everything is ok, then it will allow it, else, the request will be denied.
    The load balancer, using a balancing algorithm passes that request to a server that contains a webserver to handle the request
    The web server attends the request and, if it needs some dynamic content, it will ask the app server for it, then the app server will make a query to the database to get the asked data.
    Finally, a response will be sent back.
    
    サーバが送る応答は以下のステータスコードのいずれかを持つことができます.
    [100–199]: Informational responses
    [200–299]: Successful responses
    
    [400–499]: Client errors
    [500–599]: Server errors
    
    リクエストが成功した場合、200のステータスコードが期待され、指定されたリソースが取得され、レスポンス本体で正常に送信されたことを示します.
    ブラウザは応答を受け取り、コンテンツをレンダリングする
    最後に、ブラウザはレスポンスを取得し、コンテンツを解釈します.この場合、対応するHTML、以降の4です.サーバは新しいリクエストを受け取り、それを処理し、応答を返す
    すべての通信を開始する設定!今、サーバーはブラウザによって作られたリクエストを受け取ることができます、したがって、覚えているならば、ブラウザーは若干のIPアドレスへのGET要求をしました、この例のために、我々が戻ったIPが若干のロード・バランサーのIPであると仮定しましょう、次に、何が起こるかは、次のように見えます.
    The request hits the load balancer
    The firewall will examine the incoming request, if everything is ok, then it will allow it, else, the request will be denied.
    The load balancer, using a balancing algorithm passes that request to a server that contains a webserver to handle the request
    The web server attends the request and, if it needs some dynamic content, it will ask the app server for it, then the app server will make a query to the database to get the asked data.
    Finally, a response will be sent back.
    
    サーバが送る応答は以下のステータスコードのいずれかを持つことができます.
    [100–199]: Informational responses
    [200–299]: Successful responses
    
    [400–499]: Client errors
    [500–599]: Server errors
    
    リクエストが成功した場合、200のステータスコードが期待され、指定されたリソースが取得され、レスポンス本体で正常に送信されたことを示します.
    ブラウザは応答を受け取り、コンテンツをレンダリングする
    最後に、ブラウザはレスポンスを取得し、コンテンツを解釈します.この場合、対応するHTML、以降の呼び出しはCSSスタイル、イメージ、およびページ上に存在する別のコンテンツを取得するために行われます.この結果は、ブラウザでレンダリングされたHTMLページがCSSスタイル、画像、ページに存在する別のコンテンツを取得するために作られます.その結果はブラウザでレンダリングされたHTMLページになります

    わあ、何の旅!私たちが見たように、インターネット上で何かを要求するときに、多くのものが進んでいます.完全なプロセスは、簡単なアーキテクチャを考慮して、以下のダイアグラムで簡素化することができます.ファイアウォール、ロードバランサ、サーバ、ウェブサーバ、アプリケーションサーバ、およびデータベース.

    さて、それは今、あなたはWebの詳細については、どのように動作し、このブログのポストはいくつかの方法であなたを助けてほしい!