フロントエンドの面接の質問 [HTTP/HTML/ブラウザ]

1. http と https について話す

http: ハイパーテキスト転送プロトコル、https: ハイパーテキスト転送セキュリティ プロトコルの
違い:

  1. HTTP 送信データは暗号化されず、平文で送信されます。https は SSL プロトコルを使用してデータを暗号化します。
  2. https プロトコルには CA 証明書が必要ですが、これは高価です。
  3. http ポート番号は 80、https ポート番号は 443 です。
  4. HTTP はステートレス接続であり、どちらも TCP の 3 ウェイ ハンドシェイクを使用して接続します。

2.HTTPS通信を暗号化する方法

3. http1.0とhttp2.0の違い、2.0と3.0はどうなるのか

4. TCP スリーウェイ ハンドシェイク

  1. c はパケットを s に送信し、s の確認を待ちます。
  2. パッケージを受信した後、s は確認し、確認を待つためにパッケージを c に送信します。
  3. cは荷物を受け取った後、確認してsに荷物を送信し、双方が送信または受信の状態になります。

5. TCPとUDP

  1. tcp は接続指向であるため、udp は最初に接続を確立する必要はありません。
  2. TCP はバイト指向であり、UDP はパケット指向です。
  3. TCPは信頼できます。

6.ウェブソケット

  1. Websocket は、永続的な接続をサポートする H5 のプロトコルです。
  2. http プロトコルに基づいて、複数のリクエストを送信し、複数の応答を受信できます。
  3. WebSocket を使用すると、クライアントとサーバー間のデータ交換が容易になり、サーバーがアクティブにデータをクライアントにプッシュできるようになります。WebSocket APIでは、ブラウザとサーバーがハンドシェイクを完了するだけで、両者の間に永続的な接続が確立され、双方向のデータ送信が可能になります。

7. URLを入力したら

  1. DNS はドメイン名を解決し、実際の IP を取得します。
  2. 接続を確立し、TCP スリーウェイ ハンドシェイクを行います。
  3. データを取得してページをレンダリングします。
  4. 4回手を振ります。

8. ページをレンダリングするにはどうすればよいですか?

  1. HTML は DOM ツリーを形成し、css は css 構造を形成します。
  2. どちらもレンダー ツリーレンダリング ツリーを形成します。
  3. ページレイアウトを計算します。
  4. UI エンジンがページをレンダリングします。

9.HTTPリクエスト

ここに画像の説明を挿入

10. ステータスコード

ここに画像の説明を挿入

  1. 200 リクエストが成功しました
  2. 400 クライアントのリクエストの構文が正しくないため、サーバーはそれを理解できません
  3. 401 リクエストにはユーザー認証が必要です
  4. 403 サーバーはクライアントのリクエストを理解しましたが、リクエストの実行を拒否しました
  5. 404 サーバーはクライアントの要求に従ってリソース (Web ページ) を見つけることができません
  6. 500 内部サーバー エラー。リクエストを完了できません

11.fetch は 2 つのリクエストを送信します

2 つのリクエストが送信される理由は、プリフライトを伴うクロスドメイン リクエスト (get、post、head リクエストを除く) を使用しているためです。このリクエストは、実際のリクエストを送信する前に、タイプ OPTIONS のプリフライト リクエストを送信します。プリフライト リクエストは、実際のリクエストに必要なクロスドメイン リソースをサーバーがサポートしているかどうかを確認し、リソースが条件を満たしている場合にのみ実際のリクエストが送信されます。たとえば、リクエスト ヘッダーに承認項目を追加する場合、サーバーの応答ヘッダーに Access-Control-Allow-Headers を配置する必要があり、その値には承認が含まれている必要があります。そうしないと、OPTIONS の事前チェックが失敗し、次のような結果になります。実際のリクエストはありません。

12. Cookie、セッションストレージ、ローカルストレージの違い

  1. Cookie はブラウザとサーバーの間でやり取りされます。sessionStorage、localStorage: クライアント (ブラウザ) にのみ保存され、サーバー通信には関与しません。
  2. Cookie のストレージ サイズが小さいと、パフォーマンスの問題が発生します。
  3. Cookie: ユーザーが Web サイトにログインしたかどうかを判断し、次回自動的にログインするかパスワードを記憶する; イベント情報を保存する; sessionStorage: 機密性の高いアカウントの 1 回限りのログイン、および単一ページの場合はそれ以上; localStorage: 長期間- 長期ログイン、ローカル データの長期保存に適しています。
  4. Cookie の有効期間は通常、サーバーによって設定されます。手動で reomveItem を削除するか閲覧履歴をクリアしない限り、localstorage は通常永続的です。通常、セッション ストレージはページを閉じると無効になります。

13.ウェブワーカー

14. リクエストヘッダーの内容

15. クッキー

16. XSS攻撃とCRSF攻撃

17. TCP輻輳制御

18. クロスドメインの問題

19.セッションとクッキー

20. HTML セマンティック タグ

21. ビューポートとモバイル端末のレイアウト

22. イベントフローaddEventListener

23. 強力なキャッシュとネゴシエーション キャッシュ

24. GETとPOSTの違い

25. ウェブサイトのパフォーマンス

26. H5の新機能

27.meta 与Doctype

おすすめ

転載: blog.csdn.net/qq_46056318/article/details/127720138