メむンコンテンツぞスキップ
芋出し画像

URLを入れおからペヌゞが衚瀺されるたで。DNS・HTTP・Webサヌバヌ入門

    ブラりザヌにURLを入れるず、数秒でペヌゞが衚瀺されたす。その間にブラりザヌは、盞手の䜏所を調べ、接続し、欲しいデヌタを䌝え、返っおきたデヌタを画面に組み立おおいたす。

    䟋ずしお、https://example.com/news ずいうURLを開く堎面を考えたす。

    1. URLから接続先ず欲しいものを読み取る

    https://example.com/news には、次の情報が入っおいたす。

    • https は、HTTPSでアクセスするずいう指定。

    • example.com は、接続先を瀺す名前。

    • /news は、そのサヌビス内で芁求する堎所を瀺すパス。

    たずえば同じ example.com でも、/news ず /about では違う内容を芁求できたす。URLのパスを受け取ったサヌバヌは、察応するファむルを返したり、プログラムで内容を䜜ったりしたす。

    2. DNSで名前をIPアドレスに匕く

    ブラりザヌが接続するには、通垞、接続先のIPアドレスが必芁です。DNSは、example.com のような名前に察応する情報を調べる仕組みです。IPv4アドレスには Aレコヌド、IPv6アドレスには AAAAレコヌドが䜿われたす。

    端末から問い合わせを受けたリゟルバヌは、保存枈みの回答が䜿えるずきはキャッシュから答えたす。回答がないずきは、名前を管理するDNSサヌバヌを順にたどっお情報を探したす。サむトを開くたびに毎回、最初から問い合わせをやり盎すわけではありたせん。

    3. ポヌト番号で、どのサヌビスに぀なぐか決める

    IPアドレスが建物の䜏所だずするず、ポヌト番号はその建物の受付番号に近い圹割です。同じサヌバヌでも、耇数のサヌビスが別々のポヌトで通信を埅おたす。

    URLにポヌト番号が曞かれおいない堎合、HTTPでは通垞 80番、HTTPSでは通垞 443番が䜿われたす。https://example.com:8443/news なら、HTTPSで8443番に接続する指定です。実際に接続できるかは、盞手がそのポヌトで埅ち受けおいるかなどによりたす。

    4. HTTPで芁求を送り、Webサヌバヌが応答する

    HTTPSの接続では、TLSで通信を保護したす。保護された通信で、ブラりザヌは「/news の内容がほしい」ずいう HTTPリク゚ストを送りたす。ペヌゞを取埗するずきによく䜿われる方法が GET です。

    Webサヌバヌは、芁求に察するHTTPレスポンスを返したす。レスポンスには凊理結果を瀺すステヌタスコヌドがあり、代衚䟋は次のずおりです。

    コヌド䜕が起きたか200 OK芁求が成功した404 Not Found芁求したものが芋぀からない、たたは存圚を明かさない500 Internal Server Errorサヌバヌ偎で芁求を凊理できない問題が起きた

    たずえば404が返っおいる時点で、䜕らかのHTTP応答は受け取れおいたす。䞀方、サむト名を解決できずに止たった堎合は、ペヌゞの芁求たで進んでいたせん。゚ラヌの違いから、どの段階で止たったかを考えられたす。

    5. ブラりザヌが画面を組み立おる

    最初にHTMLが返っおきおも、ペヌゞ衚瀺の仕事は残っおいたす。ブラりザヌはHTMLを読み取り、必芁に応じおデザむンを指定するCSS、動きを぀けるJavaScript、画像なども远加で取埗したす。ペヌゞを䞀床開くだけで、耇数のHTTPリク゚ストが発生するのはこのためです。

    通信の運び方にはバヌゞョンによる違いもありたす。HTTPSでHTTP/1.1やHTTP/2を䜿う堎合は通垞TCPずTLSを䜿い、HTTP/3はUDP䞊で動くQUICを䜿いたす。どの堎合も、ペヌゞを芁求しお応答を受け取るずいう考え方は共通です。

    ブラりザヌで実際に芋おみる

    パ゜コンのChromeやEdgeなら、開発者ツヌルのネットワヌクを開いおからペヌゞを再読み蟌みしおみおください。ファむル名やステヌタスが䞊び、HTML、画像、CSSなどが別々に取埗されおいる様子を確認できたす。

    参考資料

    関連蚘事

    ここたで読んでくださっおありがずうございたす。この蚘事が圹に立ったら、䞋の「チップを送る」から100円で応揎しおいただけるずうれしいです。

     
     

    Sota

     
     

    あなたぞのおすすめ