이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 44999|회답: 4

[ASP.NET] asp.net MVC는 단일 컨트롤러 방식으로 도메인을 교차할 수 있도록 허용합니다

[링크 복사]
게시됨 2018. 7. 31. 오전 10:13:37 | | | |
Cors가 뭐야?

CORS는 W3C 표준으로, "Cross-Origin 자원 공유"를 의미합니다.
이 기능은 브라우저가 크로스 오리진 서버에 XMLHttpRequest 요청을 보낼 수 있게 하여 AJAX가 동질적으로만 사용할 수 있다는 한계를 극복합니다.

1. 서론

CORS는 브라우저와 서버 모두의 지원이 필요합니다. 현재 모든 브라우저가 이 기능을 지원하며, IE 브라우저는 IE10 이하로 지원할 수 없습니다.

전체 CORS 통신 과정은 브라우저가 자동으로 완료하며 사용자 참여를 요구하지 않습니다. 개발자에게 CORS 통신은 동종 AJAX 통신과 다르지 않으며, 코드도 정확히 동일합니다. 브라우저가 AJAX 요청이 소스를 통과하는 것을 감지하면, 자동으로 추가 헤더 정보를 추가하거나 때로는 한 번 더 요청을 추가하지만, 사용자는 이를 느끼지 못합니다.

따라서 CORS 통신을 달성하는 핵심은 서버에 있습니다. 서버가 CORS 인터페이스를 구현하는 한, 소스 간 통신이 가능합니다.

실제로 웹 서버 프로그램(예: ASP.NET 이나 PHP 등)은 들어오는 Http 요청이 도메인 간 Ajax 요청인지 구분하지 못하며, 관리하지 않습니다.CORS는 이 문제를 해결하기 위해 설계되었으며, W3C 맞춤형 CORS 표준은 브라우저가 Ajax 크로스 도메인 요청을 허용하는 메커니즘을 제공합니다.

2: 네이티브 JS Ajax 요청 코드

jQuery를 참조하고 싶지 않기 때문에, 다음과 같은 js로 다음과 같은 메서드들을 캡슐화했습니다:

Ajax는 인터페이스 테스트를 요청하고 다음과 같은 오류를 발견합니다:




셋째: 도메인 교차를 허용하는 컨트롤러 메서드 설정

그냥 그래요누구나 허용됩니다컨트롤러 또는 API 메서드는 web.config 파일에서 도메인 간 간 설정입니다system.webServer다음 구성이 노드 아래에 추가됩니다:

위 내용은 우리가 원하던 결과가 아닙니다! 도메인 간에 인터페이스 중 하나에만 접근하도록 허용하고 싶다면, 다음과 같은 기능을 정의해야 합니다:

도메인 간 접근 권한을 설정하는 코드는 다음 단락입니다. HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", 출처);

우리는 컨트롤러 방법 위에 다음과 같이 특성을 설정합니다:

아래 결과와 함께 다시 Ajax 요청을 시작합니다:



다른 웹사이트의 API 인터페이스 리소스도 성공적으로 접근할 수 있습니다.

(끝)





이전의:안녕하세요 여러분{:1_7:}
다음:CSS 텍스트는 두 가지 방법 너머로 숨겨져 있습니다
 집주인| 게시됨 2019. 6. 17. 오후 2:23:05 |
HTTP 요청 메서드는 GET와 POST뿐만 아니라 가장 일반적으로 사용되는 방법일 뿐입니다. 표준(현재 HTTP/1.1)RFC2616 보통 8가지 메서드가 있습니다: OPTIONS,POST, PUT, DELETE, TRACE, CONNECT.

OPTIONS 요청 메서드는 두 가지 주요 용도를 가집니다:

1. 서버가 지원하는 HTTP 요청 메서드를 받아야 합니다; 또한 해커들이 자주 사용하는 방법이기도 합니다.

2. 서버 성능 점검에 사용됨. 예를 들어, AJAX가 교차 도메인 요청을 할 때, 실제 요청이 안전한지 확인하기 위해 다른 도메인 이름의 리소스에 HTTP OPTIONS 헤더를 보내야 합니다.
 집주인| 게시됨 2019. 11. 4. 오후 5:29:52 |
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.252.193:2019/home/testMIME 타입의 application/json을 사용했습니다. 참고https://www.chromestatus.com/feature/5629709824032768자세한 내용은
 집주인| 게시됨 2020. 1. 19. 오후 3:33:23 |

게시됨 2021. 11. 12. 오후 3:59:52 |
잘 쓰여졌고, 박식하네요
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com