ページが読み込まれるまでブラウザからURLを入力するとどうなりますか?これは非常に古典的なインタビューの質問です。Webフロントエンドエンジニアの基本的な知識を学ぶことができます。非常に深い姿勢のフロントエンドとして、面接で多くの方にお願いしたり、多くの方からもお伺いしたりしています。それを整理します。
次の手順で象を冷蔵庫に入れます。
1. DNS解決(何を言いますか?わからない、翻訳してください!)
2. TCPリンク(3回のハンドシェイク確認、セキュリティチェック。)
3.クライアントはHTTPリクエストを送信します(記事を明確な構造、リクエストライン、リクエストヘッダー、リクエストボディで配置します)
4.サーバーは要求を受け入れ、応答メッセージを返します(こんにちは、顧客、あなたへの返信、ステータスコード、応答ヘッダー、応答メッセージ)
5.ブラウザの解析およびレンダリングページ(DOMツリー解析(html)、CSSOMツリー解析、Renderレンダリングツリーの生成、レイアウトレイアウト、描画)
6.接続を終了します
冷蔵庫で象を閉じる5番目のステップでは、非常に時間がかかることがわかりました。最適化して設定してください:
1. DOM(html)最適化(静的リソースはCDNキャッシュを使用します。domレベルを下げ、ネストを深くしすぎないでください。画像圧縮、マージします。)
2. CSSの最適化(より洗練されたパブリックスタイル、セレクター仕様の名前付け、インラインスタイルの回避;)
3. JS最適化(JSファイルはページの下部に読み込まれます; JSファイルをマージしてhttpリクエストを減らします;読み込みの遅延を遅らせます;非同期の読み込みasync;動的にスクリプトタグの読み込みを作成します;)