목차
1. 단순 요청과 비단순 요청
2. 간단한 요청 처리 원칙
를 통해 지정해야 합니다. Notes
3. 단순하지 않은 요청 처리 원칙
웹 프론트엔드 JS 튜토리얼 CORS(교차 도메인) 요청 요약 및 테스트

CORS(교차 도메인) 요청 요약 및 테스트

Jun 23, 2017 am 10:50 AM
cors 요약 시험 묻다 교차 도메인

1. 단순 요청과 비단순 요청

교차 도메인 요청은 단순 요청과 비단순 요청으로 나누어지며, 다음 두 가지 조건을 충족하는 경우 단순 요청으로 판단할 수 있습니다. 간단한 요청 요청 방법

요청 방법 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

2. 간단한 요청 처리 원칙

요청 헤더 설명
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

를 통해 지정해야 합니다. Notes

  1. Access-Control-Allow-Credentials가 true로 설정되거나 이 헤더가 있는 경우 Access-Control-Allow-Origin을 사용할 수 없습니다*.

  2. 쿠키를 보낼 때 Access-Control-Allow-Origin은 *일 수 없으며 쿠키는 여전히 동일한 소스에서 발생하며 서버 도메인 이름으로 설정된 쿠키만 업로드됩니다.

  3. 원래 웹페이지 코드의 document.cookie는 서버 도메인 이름에 속한 쿠키(클라이언트)를 읽을 수 없으며, xmlHttp.getResponseHeader("set-cookies")를 통해서도 읽을 수 없습니다.

  4. xmlHttp는 foo 및 boo 객체를 얻을 수 있습니다.

1

2

3

4

res.setHeader("Access-Control-Allow-origin","*"); 

res.setHeader("Access-Control-Expose-Headers""foo,boo"),

res.setHeader("foo""foo");

res.setHeader("boo""boo");

로그인 후 복사

3. 단순하지 않은 요청 처리 원칙

요청 방법이 PUT, DELETE이거나 Content-type이 application/json인 경우. 단순하지 않은 요청의 경우 2단계:

  1. 사전 검증 "요청", 브라우저는 요청 방법 옵션을 사용하여 요청을 보낸 후 다음 세 개의 헤더

을 가져옵니다.
헤더 이름Description
Origin 은 요청이 전송되는 원본 도메인 이름을 나타냅니다.
Access-Control-Request-Method 도메인 전체에서 실행되어야 하는 요청 메서드(작업이라고도 함)
Access-Control-Request-Headers cors 요청에 의해 전송될 추가 헤더 정보를 지정하여 클라이언트에게 헤더를 사용자 정의할 수 있는 기회를 제공합니다
  1. 서비스는 Access-Control-Allow-Origin 헤더가 지정되었는지와 값이 일치하는지 확인합니다. 확인이 통과되면 다음 헤더 내용이 출력됩니다.

이 사전 검증의 유효 기간을 지정합니다. 단위: 초 참고: Access-Control-Request-Headers 및 Access-Control-Request-Method는 그럴 필요가 없습니다. 개발자가 설정하면 브라우저에서 자동으로 인식됩니다. .Access-Control-Request-Headers는 요청의 사용자 정의 헤더를 기반으로 생성되는 반면 Access-Control-Request-Method는 요청 방법을 기반으로 생성됩니다. 잘못된 헤더 설정 표시:
헤더 이름 설명
Access-Control-Allow-Methods 서버에서 지원하는 cors 요청 방법을 나타냅니다. 여러 요청 방법은 쉼표로 구분됩니다.
Access-Control-Allow-Headers 요청에 액세스 제어가 있는 경우 -Request-Headers 헤더, 이 헤더는 서버에서 지원하는 모든 헤더 정보를 나타내는 반환되어야 합니다. Control-Max-Age

  1. 3. 올바른 설정:
  2. 4. 교차 도메인 쿠키 처리(불가능)

교차 도메인 쿠키는 설정할 수 없습니다. . 서버의 쿠키 출력이 유효하지 않습니다

ajax가 set-Cookies 헤더(클라이언트)를 가져오고 오류 메시지가 표시됩니다

위 내용은 CORS(교차 도메인) 요청 요약 및 테스트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Furmark에 대해 어떻게 생각하시나요? - Furmark는 어떻게 자격을 갖춘 것으로 간주됩니까? Furmark에 대해 어떻게 생각하시나요? - Furmark는 어떻게 자격을 갖춘 것으로 간주됩니까? Mar 19, 2024 am 09:25 AM

Furmark에 대해 어떻게 생각하시나요? 1. 메인 인터페이스에서 "실행 모드"와 "디스플레이 모드"를 설정하고 "테스트 모드"도 조정한 후 "시작" 버튼을 클릭하세요. 2. 잠시 기다리면 그래픽 카드의 다양한 매개변수를 포함한 테스트 결과가 표시됩니다. Furmark는 어떻게 자격을 갖추었나요? 1. 푸르마크 베이킹 머신을 사용하여 약 30분 동안 결과를 확인합니다. 기본적으로 85도 정도, 최고 온도는 87도, 실내 온도는 19도입니다. 대형 섀시에 섀시 팬 포트 5개 전면 2개, 상단 2개, 후면 1개로 구성됐으나 팬은 1개만 설치됐다. 모든 액세서리는 오버클럭되지 않습니다. 2. 정상적인 상황에서 그래픽 카드의 정상 온도는 "30-85℃" 사이여야 합니다. 3. 주변온도가 너무 높은 여름에도 정상온도는 "50~85℃"

PHP 세션 교차 도메인 문제에 대한 솔루션 PHP 세션 교차 도메인 문제에 대한 솔루션 Oct 12, 2023 pm 03:00 PM

PHPSession의 도메인 간 문제 해결 프런트엔드와 백엔드 분리 개발에서 도메인 간 요청이 표준이 되었습니다. 도메인 간 문제를 처리할 때 일반적으로 세션 사용 및 관리가 포함됩니다. 그러나 브라우저 원본 정책 제한으로 인해 기본적으로 도메인 간에 세션을 공유할 수 없습니다. 이 문제를 해결하려면 도메인 간 세션 공유를 달성하기 위한 몇 가지 기술과 방법을 사용해야 합니다. 1. 도메인 간 세션을 공유하기 위한 쿠키의 가장 일반적인 사용

새로운 Xianxia 모험에 참여하세요! 'Zhu Xian 2' 'Wuwei Test' 사전 다운로드가 가능합니다 새로운 Xianxia 모험에 참여하세요! 'Zhu Xian 2' 'Wuwei Test' 사전 다운로드가 가능합니다 Apr 22, 2024 pm 12:50 PM

새로운 판타지 요정 MMORPG '주선2'의 '무작용 테스트'가 4월 23일 출시된다. 원작으로부터 수천 년이 지난 주선 대륙에서는 어떤 새로운 요정 모험 이야기가 펼쳐질 것인가? 육계선불세계, 불멸수련을 위한 전임 학원, 불멸수련의 자유로운 삶, 불멸세계의 온갖 즐거움이 불멸친구들이 직접 탐험하는 것을 기다리고 있습니다! 이제 'Wuwei 테스트' 사전 다운로드가 공개되었습니다. 요정 친구들은 공식 웹사이트에 접속하여 다운로드할 수 있습니다. 서버가 출시되기 전에는 게임 서버에 로그인할 수 없습니다. 사전 다운로드 및 설치 후에는 활성화 코드를 사용할 수 있습니다. 완성 됐습니다. "Zhu Xian 2" "Inaction Test" 개장 시간: 4월 23일 10:00 - 5월 6일 23:59 Zhu Xian의 정통 속편 "Zhu Xian 2"의 새로운 요정 모험 장은 "Zhu Xian" 소설을 기반으로 합니다. 원작의 세계관을 바탕으로 게임 배경이 설정되었습니다.

Linux 시스템에서 system() 함수의 사용법을 요약합니다. Linux 시스템에서 system() 함수의 사용법을 요약합니다. Feb 23, 2024 pm 06:45 PM

Linux에서의 system() 함수 요약 Linux 시스템에서 system() 함수는 명령줄 명령을 실행하는 데 사용할 수 있는 매우 일반적으로 사용되는 함수입니다. 이 기사에서는 system() 함수를 자세히 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. 1. system() 함수의 기본 사용법은 다음과 같습니다. intsystem(constchar*command) 여기서 명령 매개변수는 문자입니다.

다른 언어에서 기능 테스트와 적용 범위의 차이점은 무엇입니까? 다른 언어에서 기능 테스트와 적용 범위의 차이점은 무엇입니까? Apr 27, 2024 am 11:30 AM

기능 테스트는 블랙박스 및 화이트박스 테스트를 통해 기능 기능성을 검증하고, 코드 커버리지는 테스트 케이스에 포함된 코드 부분을 측정합니다. Python 및 Java와 같은 언어마다 테스트 프레임워크, 적용 범위 도구 및 기능이 다릅니다. 실제 사례에서는 기능 테스트 및 적용 범위 평가를 위해 Python의 Unittest 및 Coverage와 Java의 JUnit 및 JaCoCo를 사용하는 방법을 보여줍니다.

국내 FPS의 새로운 왕! '델타 작전' 전장이 기대치를 뛰어넘는다 국내 FPS의 새로운 왕! '델타 작전' 전장이 기대치를 뛰어넘는다 Mar 07, 2024 am 09:37 AM

'오퍼레이션 델타'는 오늘(3월 7일) '코드네임: ZERO'라는 대규모 PC 테스트를 시작한다. 지난 주말 이 게임은 상하이에서 오프라인 플래시몹 체험행사를 진행했는데, 17173도 행운을 빌어 참여하게 됐다. 이번 시험은 지난 시험으로부터 불과 4개월여밖에 남지 않은 상황인데, 이 짧은 시간 안에 '델타 작전'이 어떤 새로운 볼거리와 놀라움을 선사할지 궁금증을 자아낸다. 4개월여 전 오프라인 테이스팅 세션과 첫 번째 베타 버전에서 'Operation Delta'를 경험했습니다. 당시 게임은 '위험한 액션' 모드만 열었습니다. 그러나 델타 작전은 당시로서는 이미 인상적이었습니다. 주요 제조사들이 모바일 게임 시장에 몰려드는 상황에서 국제 표준에 버금가는 FPS

Nginx가 요청 URL을 기반으로 요청 재작성 구성을 구현하는 방법 Nginx가 요청 URL을 기반으로 요청 재작성 구성을 구현하는 방법 Nov 08, 2023 pm 04:15 PM

Nginx는 역방향 프록시 및 로드 밸런싱과 같은 고급 기능을 지원할 뿐만 아니라 강력한 요청 재작성 기능을 갖춘 경량 고성능 웹 서버입니다. 실제 웹 애플리케이션에서는 더 나은 사용자 경험과 검색 엔진 최적화 효과를 얻기 위해 요청 URL을 다시 작성해야 하는 경우가 많습니다. 이 기사에서는 Nginx가 특정 코드 예제를 포함하여 요청 URL을 기반으로 요청 재작성 구성을 구현하는 방법을 소개합니다. 재작성 구문 Nginx에서는 재작성 지시문을 사용하여 요청 재작성을 수행할 수 있습니다. 기본 언어

Maven에서 테스트 케이스를 비활성화하는 방법은 무엇입니까? Maven에서 테스트 케이스를 비활성화하는 방법은 무엇입니까? Feb 26, 2024 am 09:57 AM

Maven은 Java 프로젝트 빌드, 종속성 관리 및 문서 게시와 같은 작업에 일반적으로 사용되는 오픈 소스 프로젝트 관리 도구입니다. 프로젝트 빌드에 Maven을 사용할 때 mvnpackage와 같은 명령을 실행할 때 테스트 단계를 무시하고 싶을 때가 있습니다. 이는 특히 프로토타입이나 테스트 환경을 빠르게 빌드해야 하는 경우 빌드 속도를 향상시킵니다. 이 기사에서는 특정 코드 예제를 사용하여 Maven에서 테스트 단계를 무시하는 방법을 자세히 설명합니다. 프로젝트 개발 중에 테스트가 종종 무시되는 이유

See all articles