교차 도메인 요청은 단순 요청과 비단순 요청으로 나누어지며, 다음 두 가지 조건을 충족하는 경우 단순 요청으로 판단할 수 있습니다. 간단한 요청 요청 방법
요청 방법 | Instructions |
head | 헤더 정보 보내기 |
get | |
post |
간단한 요청을 위한 HTTP 헤더 Information
http 헤더 정보 | Description |
accept | 클라이언트가 받아들일 수 있는 정보 유형을 지정하세요. 예: image/git |
accept-언어 | 클라이언트가 받아들일 수 있는 자연어를 지정하세요. , 지정하지 않으면 모든 언어가 허용되는 것으로 간주됩니다. 예: accept-언어: zh-cn |
content-언어 | 엔티티 헤더와 리소스를 설명하는 데 사용되는 자연 언어입니다. 이 규칙이 설정되지 않으면 엔터티 콘텐츠가 모든 언어로 읽기용으로 제공됩니다 |
Last-Event-ID | 마지막으로 수신된 이벤트의 식별자 |
content-type | 유형 엔터티 메시지 및 리소스, 세 가지 값으로 제한: application/x-www-form-unlencoded, multipart/form-data, text/plain |
요청 헤더 | 설명 |
Access-Control-Allow-origin | 은 도메인 전체에 걸쳐 액세스할 수 있는 웹 사이트를 지정합니다. 이는 *로 설정하여 모든 res.setHeader("Access-Control-Allow-origin","http://localhost")
|
Access-Control-Allow-Credentials | 에 이 헤더가 있음을 나타냅니다. 값은 true이며 도메인 간 액세스가 허용됨을 나타냅니다. 그리고 withCredentials는 쿠키를 서버에 전달할지 여부를 설정하는 클라이언트입니다. |
Access-Control-Expose-Headers | 기본 코르 요청입니다. 클라이언트의 xmlHttpRequrest는 Cache-Control, Content-Language, Content-Type, Exprise, Last-Modified 및 Pragma와 같은 6개 필드만 가져올 수 있습니다. 기타 헤더는 Access-Control-Expose-Headers |
Access-Control-Allow-Credentials가 true로 설정되거나 이 헤더가 있는 경우 Access-Control-Allow-Origin을 사용할 수 없습니다*.
쿠키를 보낼 때 Access-Control-Allow-Origin은 *일 수 없으며 쿠키는 여전히 동일한 소스에서 발생하며 서버 도메인 이름으로 설정된 쿠키만 업로드됩니다.
원래 웹페이지 코드의 document.cookie는 서버 도메인 이름에 속한 쿠키(클라이언트)를 읽을 수 없으며, xmlHttp.getResponseHeader("set-cookies")를 통해서도 읽을 수 없습니다.
xmlHttp는 foo 및 boo 객체를 얻을 수 있습니다.
res.setHeader("Access-Control-Allow-origin","*"); res.setHeader("Access-Control-Expose-Headers", "foo,boo"), res.setHeader("foo", "foo"); res.setHeader("boo", "boo");
요청 방법이 PUT, DELETE이거나 Content-type이 application/json인 경우. 단순하지 않은 요청의 경우 2단계:
사전 검증 "요청", 브라우저는 요청 방법 옵션을 사용하여 요청을 보낸 후 다음 세 개의 헤더
헤더 이름 | 을 가져옵니다.Description |
Origin | 은 요청이 전송되는 원본 도메인 이름을 나타냅니다. |
Access-Control-Request-Method | 도메인 전체에서 실행되어야 하는 요청 메서드(작업이라고도 함) |
Access-Control-Request-Headers | cors 요청에 의해 전송될 추가 헤더 정보를 지정하여 클라이언트에게 헤더를 사용자 정의할 수 있는 기회를 제공합니다 |
서비스는 Access-Control-Allow-Origin 헤더가 지정되었는지와 값이 일치하는지 확인합니다. 확인이 통과되면 다음 헤더 내용이 출력됩니다.
헤더 이름 | 설명 |
Access-Control-Allow-Methods | 서버에서 지원하는 cors 요청 방법을 나타냅니다. 여러 요청 방법은 쉼표로 구분됩니다. |
Access-Control-Allow-Headers | 요청에 액세스 제어가 있는 경우 -Request-Headers 헤더, 이 헤더는 서버에서 지원하는 모든 헤더 정보를 나타내는 반환되어야 합니다. Control-Max-Age |
참고: | |
Access-Control-Request-Headers 및 Access-Control-Request-Method는 그럴 필요가 없습니다. 개발자가 설정하면 브라우저에서 자동으로 인식됩니다. .Access-Control-Request-Headers는 요청의 사용자 정의 헤더를 기반으로 생성되는 반면 Access-Control-Request-Method는 요청 방법을 기반으로 생성됩니다. |
ajax가 set-Cookies 헤더(클라이언트)를 가져오고 오류 메시지가 표시됩니다
위 내용은 CORS(교차 도메인) 요청 요약 및 테스트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!