今回は、2018 年の最新のフロントエンド面接の質問をお届けします。フロントエンドの仕事に面接が不可欠な部分であることはわかっています。このフロントエンド面接のよくある質問の分類と要約の目的は、面接での質問を克服できるようにすることです。フロントエンド面接における大きな困難。見てみましょう。
[関連する推奨事項: フロントエンド面接の質問 (2020)]
1. Cross-Origin Resource Sharing (CORS) とは何ですか?どのような問題を解決するために使用されますか?
特定の 動作を防ぐために、デフォルトでは、ブラウザの XHR オブジェクト は、同じドメインから生成されたリソースにのみアクセスできます。しかし、日々の実際の開発では、クロスドメイン リクエストの必要性が頻繁に発生するため、クロスドメイン リクエスト ソリューションである CORS (Cross-Origin Resource Sharing) クロスドメイン リソース共有が登場しました。 CORS の背後にある原理は、カスタム HTTP ヘッダーを使用してサーバーと通信し、サーバーが応答が成功したかどうかを判断することです。
CORS の使用方法?
CORS を使用するには、クライアントとサーバーの両方の協力が必要です。
1. クライアントはどのように CORS クロスドメイン リクエストを開始しますか?
現在、CORS はほとんどのブラウザーでネイティブにサポートされています (CORS は各ブラウザーでサポートされています)。コードを記述するときは、xhr.open() のときに絶対 URL を渡すだけで済みます。 。例:
var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if(xhr.readyState == 4){ if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){ console.log(xhr.responseText) }else { console.log('err' + xhr.status); } } }; xhr.open('get','http://www.xxx.com/api/something/',true); xhr.send(null);
この方法でクロスドメインリクエストを送信できますが、上記のサンプルコードのように送信すると、サーバーがこのリクエストを許可するように設定されていないため、エラーが報告されます。そのため、CORSサーバーの協力も必要です。
2. サーバーはどのようにして顧客の CORS クロスドメインリクエストを許可しますか?
サーバーは、クライアントのアクセスを許可するために、応答ヘッダーに Access-Control-Allow-Origin を設定するだけで済みます。
クライアントのドメイン名が http://www.xxx.com であると仮定すると、サーバーの Access-Control-Allow-Origin 設定に http://www.xxx.com が含まれていれば、CORSリクエストは成功します。 Access-Control-Allow-Origin が * に設定されている場合、どのドメイン名でもこのサーバーにアクセスできますが、セキュリティの理由から、これは一般的に推奨されません。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトその他の関連記事に注目してください。
関連記事:
以上が2018年最新のフロントエンド面接の質問7つの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。