이번에는 2018년 최신 프론트엔드 면접 질문을 가져왔습니다. 면접은 프론트엔드 업무에 있어서 빼놓을 수 없는 부분이라는 것을 알고 있습니다. 자주 묻는 프론트엔드 면접 질문을 분류하고 요약한 목적은 여러분의 극복을 돕기 위한 것입니다. 프론트 엔드 인터뷰의 주요 어려움. 살펴보겠습니다.
[관련 추천 : 프런트엔드 면접 질문(2020)]
1. CORS(Cross-Origin Resource Sharing)란 무엇인가요? 어떤 문제를 해결하는 데 사용됩니까?
기본적으로 특정 동작을 방지하기 위해 브라우저의 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 중국어 웹사이트기타 관련 기사를 주목하세요!
관련 읽기:
위 내용은 2018년 최신 프론트엔드 면접 질문 7가지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!