【1m+1m+2m 3本/黒】RAMPOW usb c ケーブル タイプc ケーブル QC3.0対応高速充電 データ転送USB2.0規格 iPhone 16/16e 充電ケーブル/iPhone 15 充電ケーブル Sony Xperia/Samsung/Asus Zenfone/Fujitsu Arrows/PS5コントローラー タイプc多機種対応 在宅勤務支援
¥999 (2025年4月25日 13:07 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)【正規MFi認証品】 iPhone 充電ケーブル ライトニングケーブル 2M 4本セット iPhone 充電器 ケーブル lightning ケーブル アイフォン充電ケーブル 2.4A急速充電 USB同期 高速データ転送 断線防止 超高耐久 iPhone 14/14 Pro/13/13 Pro/12/11/X/8/8plus/7/6/iPad 各種対応
¥749 (2025年4月25日 13:05 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB EXCERIA PLUS UHS-I U3 V30 Class10 Nintendo Switch動作確認済 microSDXC 最大読出100MB/s 最大書込60MB/s 4K対応 国内サポート正規品 メーカー保証5年 KLMPAE128G
¥2,180 (2025年4月25日 13:05 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)
はじめに
新卒エンジニアが会社の研修で勉強した内容を図でまとめてみました。
Webページのアクセスから表示までの流れ
解説
1. リクエスト開始とDNS解決のプロセス
URLの入力:
ユーザーがブラウザにURL(例:https://www.amazon.com )を入力
DNSキャッシュの確認:
- まずブラウザのローカルDNSキャッシュを確認
- キャッシュにある場合はそのIPアドレスを使用
- キャッシュにない場合は次のステップへ
DNSサーバーへの問い合わせ:
- ブラウザはOSのDNSリゾルバに問い合わせ
- さらにISPのDNSサーバーやルートDNSサーバーへと階層的に検索
- 最終的に目的のドメイン名(www.amazon.com)に対応するIPアドレス(例:54.239.28.85)を取得
IPアドレスの取得完了:
取得したIPアドレスを使ってWebサーバーへの接続準備完了
2. HTTPリクエスト・レスポンスの流れ
TCP接続確立(3ウェイハンドシェイク):
- クライアントがSYNパケットを送信
- サーバーがACK+SYNパケットで応答
- クライアントがACKパケットを送信して接続確立
データ転送:
- クライアントがHTTPリクエストをサーバーに送信
- サーバーがHTTPレスポンスをクライアントに返信
コネクション切断(4ウェイハンドシェイク):
- クライアントがFINパケットを送信
- サーバーがACKパケットで応答
- サーバーがFINパケットを送信
- クライアントがACKパケットで応答して接続終了
3. サーバーサイドの処理
リクエスト受付:
- Webサーバー(Apache、Nginxなど)がHTTPリクエストを受け取る
- 静的コンテンツの場合はそのままファイルを提供
動的コンテンツ生成:
- アプリケーションサーバーがプログラム(PHP、Ruby、Pythonなど)を実行
- 必要に応じてデータベースからデータを取得・操作
データベース処理:
- DBサーバーが接続管理、クエリ解析を行う
- データの検索・更新・追加などの操作を実行
- 結果をアプリケーションサーバーに返す
レスポンス生成:
- 処理結果をHTMLなどの形式にまとめる
- HTTPレスポンスヘッダーと共にクライアントへ送信
4. レスポンス生成と表示
HTMLパース:
ブラウザがHTMLを受信し、DOM(Document Object Model)ツリーを構築
CSSパース:
CSSを解析し、CSSOM(CSS Object Model)を構築
スタイル情報をDOM要素に適用
JavaScriptの実行:
JavaScriptコードを実行してDOMやCSSOMを操作
レンダリングツリー構築:
DOMとCSSOMから実際に表示する要素のレンダリングツリーを作成
レイアウト処理:
各要素の位置やサイズを計算
ペイント処理:
色や画像などの視覚的要素を描画
コンポジット:
複数のレイヤーを合成して最終的な画面を生成
Webページ表示完了:
ユーザーに完成したWebページが表示される