액세스 제어 요청 헤더: jQuery를 사용한 AJAX 헤더 추가 이해
jQuery AJAX 요청에서 사용자 정의 헤더를 추가하여 요청 향상 가능 맞춤화. 그러나 일부 헤더는 예상된 형식으로 표시되지 않을 수 있습니다. 이 문서에서는 사용자 정의 헤더가 "Access-Control-Request-Headers"로 표시되는 이유를 설명하는 것을 목표로 합니다.
교차 출처 요청이 이루어지면 브라우저는 OPTIONS 메서드를 사용하여 실행 전 요청을 수행합니다. 이 실행 전 요청은 실제 요청이 허용되는지 여부를 결정합니다. 이 실행 전 요청 중에 브라우저는 실제 요청이 사용할 HTTP 메소드와 헤더를 나타내는 헤더를 보냅니다.
이러한 헤더 중 하나가 "Access-Control-Request-Headers" 헤더입니다. 실제 요청에 포함될 사용자 정의 헤더를 나열합니다. 이는 이러한 사용자 정의 헤더를 보내려면 브라우저가 서버로부터 권한을 얻어야 하기 때문입니다.
따라서 AJAX POST 요청에서 사용자 정의 헤더를 보내면 "Access-Control-Request-"에 추가됩니다. 헤더" 헤더는 비행 전 OPTIONS 요청에 포함됩니다. 이는 교차 출처 보안 취약점을 방지하기 위한 브라우저 동작입니다.
사용자 정의 헤더 문제 해결
실제 요청에 사용자 정의 헤더를 직접 포함하려면 다음이 필수적입니다. 실행 전 요청을 처리하고 지정된 사용자 정의 헤더에 대한 권한을 부여하도록 서버를 구성합니다. 이 구성은 서버마다 다르며 적절하게 설정하려면 권한이 필요합니다.
jQuery의 예
제공된 jQuery 예는 사용자 정의 헤더를 설정하는 방법을 보여줍니다.
$.ajax({ type: "POST", beforeSend: function(request) { request.setRequestHeader("Authority", authorizationToken); }, url: "entities", data: "json=" + escape(JSON.stringify(createRequestObject)), processData: false, success: function(msg) { $("#results").append("The result =" + StringifyPretty(msg)); } });
이러한 지침을 따르면 개발자는 AJAX 요청에 사용자 정의 헤더를 효과적으로 추가하여 브라우저가 원본 간 보안 프로토콜을 준수하도록 할 수 있습니다.
위 내용은 jQuery AJAX 요청에서 내 사용자 정의 헤더가 'Access-Control-Request-Headers'로 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!