과거에는 크로스 도메인 Ajax에 대한 솔루션이 jsonp를 통해서만 해결될 수 있다는 것만 알고 있었습니다. 최근 로컬로 동영상을 업로드할 때 게시물을 통해 직접 업로드하려면 Youku와 YouTube에 동영상을 업로드해야 했습니다. 업로드 진행 상황은 브라우저 하단에서만 볼 수 있었습니다. 그러나 ajax를 사용하여 업로드하는 경우 업로드 진행 상황을 사용자 정의하고 업로드 속도를 표시할 수 있습니다. 업로드가 타사 비디오 서비스 제공업체에 이루어지기 때문에 가장 먼저 직면하는 문제는 도메인 간 문제입니다.
CORS가 이 문제를 해결할 수 있습니다.
CORS는 의심할 여지 없이 JSONP보다 더 발전하고 편리하며 안정적입니다.
1. JSONP는 GET 요청만 구현할 수 있는 반면 CORS는 모든 유형의 HTTP 요청을 지원합니다.
2. 개발자는 CORS를 사용하여 일반 XMLHttpRequest를 사용하여 요청을 시작하고 데이터를 얻을 수 있으며 이는 JSONP보다 오류 처리가 더 좋습니다.
3. JSONP는 주로 CORS를 지원하지 않는 오래된 브라우저에서 지원되지만 대부분의 최신 브라우저는 이미 CORS를 지원합니다.
PHP에서: 헤더(""Access-Control-Allow-Origin: *"");
html에서:
CORS에 302 점프가 포함된 경우 302 점프 뒤의 URL에도 CORS 헤더 요청이 포함되어야 합니다.
현재 IE8 이상 및 기타 주류 브라우저는 이미 CORS 크로스 도메인을 지원하고 있으며 이 기술은 미래에 매우 실용적이 될 것이라고 믿습니다.