>웹 프론트엔드 >JS 튜토리얼 >올바른 서버 헤더에도 불구하고 내 Localhost CORS 요청이 stackoverflow.com에 실패하는 이유는 무엇입니까?

올바른 서버 헤더에도 불구하고 내 Localhost CORS 요청이 stackoverflow.com에 실패하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-16 11:31:11857검색

Why Does My Localhost CORS Request Fail to stackoverflow.com Despite Correct Server Headers?

Localhost CORS 헤더 문제

적절한 CORS 헤더로 서버를 구성했음에도 불구하고 사용자는 클라이언트 스크립트에서 localhost를 원본으로 사용하는 데 어려움을 겪습니다. .

서버 구성

서버는 다음 헤더로 설정됩니다.

Access-Control-Allow-Origin:http://localhost

클라이언트 스크립트

클라이언트 스크립트는 XMLHttpRequest 개체를 사용합니다. ~에게 요청하다 'http://stackoverflow.com/'.

var xhr = new XMLHttpRequest();
xhr.onload = function() {
   console.log('xhr loaded');
};
xhr.open('GET', 'http://stackoverflow.com/');
xhr.send();

오류

그러나 다음 오류로 인해 요청이 실패합니다.

XMLHttpRequest cannot load http://stackoverflow.com/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

해결책

서버 구성이 나타나는 동안 맞습니다. 문제는 클라이언트 스크립트에서 'localhost'를 원본으로 사용하는 데 있습니다.

Chrome은 2014년에 "WontFix"로 표시된 버그로 인해 CORS 요청에 대해 localhost를 지원하지 않습니다.

해결 방법

이 문제를 방지하려면 다음으로 확인되는 도메인을 사용하세요. 127.0.0.1(예: 'localho.st')을 사용하거나 테스트 목적으로 '--disable-web-security' 플래그를 사용하여 Chrome을 실행하세요.

위 내용은 올바른 서버 헤더에도 불구하고 내 Localhost CORS 요청이 stackoverflow.com에 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.