Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 44999|Відповідь: 4

[ASP.NET] asp.net MVC дозволяє одному методу контролера перетинати домени

[Копіювати посилання]
Опубліковано 31.07.2018 10:13:37 | | | |
Що таке Cors?

CORS — це стандарт W3C, що означає «Cross-origin resource sharering» (Cross-origin resource sharering).
Він дозволяє браузеру робити 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.configsystem.webServerПід вузлом додається наступна конфігурація:

Вищезазначене — не той результат, якого ми хотіли! Якщо ми хочемо, щоб доступ до одного з наших інтерфейсів між доменами отримував лише доменне ім'я, нам потрібно визначити функцію, яка виглядає так:

Код для встановлення дозволів доступу між доменами є таким абзацом: HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", origin);

Ми встановлюємо характеристики поверх методу контролера наступним чином:

Ми знову ініціюємо запит Ajax з результатом, як показано нижче:



Ресурси інтерфейсу API з наших інших вебсайтів можна успішно користуватися.

(Кінець)





Попередній:Привіт усім{:1_7:}
Наступний:CSS-текст прихований за межами двох методів
 Орендодавець| Опубліковано 17.06.2019 14:23:05 |
Методи HTTP-запиту — це не лише GET і POST, а й найпоширеніші. Згідно зі стандартом RFC2616 (поточний HTTP/1.1), зазвичай існує 8 методів: OPTIONS,, POST, PUT, DELETE, TRACE та CONNECT.

Метод запиту OPTIONS має два основних застосування:

1. Отримати підтримку HTTP-запиту на сервері; Це також метод, який часто використовують хакери.

2. Використовується для перевірки продуктивності сервера. Наприклад, коли AJAX робить крос-доменний запит, йому потрібно надіслати заголовок HTTP OPTIONS на ресурс іншого доменного імені, щоб визначити, чи є фактичний запит безпечним.
 Орендодавець| Опубліковано 04.11.2019 17:29:52 |
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.252.193:2019/home/testз MIME-типом додатку/json. Див.https://www.chromestatus.com/feature/5629709824032768Детальніше.
 Орендодавець| Опубліковано 19.01.2020 15:33:23 |

Опубліковано 12.11.2021 15:59:52 |
Добре написано, вивчено
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com