Как использовать Access-Control-Allow-Origin? Разве это просто между тегами html head?

Я читал о Access-Control-Allow-Origin, потому что кажется эффективным для разрешения запросов на междоменные запросы, так как у меня есть доступ к внешнему сайту. Мой вопрос ism как использовать Access-Control-Allow-Origin, чтобы разрешить запросы на междоменные запросы. Я попробовал это (не смейтесь) (кстати, все, что я хочу, это для одного числа, 1 или 0 для возврата)

<html>
<head>
Access-Control-Allow-Origin: *
</head>
<body>
1
</body>
</html>

Я закрываю? Спасибо за вашу помощь. Если есть простой способ сделать простой запрос на междоменный доступ, сообщите мне.

Ответ 1

Это HTTP-заголовок. Вы бы настроили ваш веб-сервер или webapp, чтобы отправить этот заголовок в идеале. Возможно, в htaccess или PHP.

В качестве альтернативы вы можете использовать

<head>...<meta http-equiv="Access-Control-Allow-Origin" content="*">...</head>

Я не знаю, будет ли это работать. Не все HTTP-заголовки могут быть настроены непосредственно в HTML.

Это работает как альтернатива многим HTTP-заголовкам, но см. ниже @EricLaw. Этот конкретный заголовок отличается.

Caveat

Этот ответ строго о том, как устанавливать заголовки. Я ничего не знаю о разрешении запросов на междоменные запросы.

О заголовках HTTP

Каждый запрос и ответ имеют заголовки. Браузер отправляет это на веб-сервер

GET /index.htm HTTP/1.1

Затем заголовки

Host: www.example.com
User-Agent: (Browser/OS name and version information)
.. Additional headers indicating supported compression types and content types and other info

Затем сервер отправляет ответ

Content-type: text/html
Content-length: (number of bytes in file (optional))
Date: (server clock)
Server: (Webserver name and version information)

Дополнительные заголовки могут быть настроены, например, Cache-Control, все зависит от вашего языка (PHP, CGI, Java, htaccess) и веб-сервера (Apache и т.д.).

Ответ 2

Существует 3 способа разрешить междоменное происхождение (кроме jsonp):

1) Установите заголовок на странице, используя язык шаблонов, такой как PHP. Помните, что перед вашим заголовком не может быть HTML, иначе он потерпит неудачу.

 <?php header("Access-Control-Allow-Origin: http://example.com"); ?>

2) Измените файл конфигурации сервера (apache.conf) и добавьте эту строку. Обратите внимание, что "*" представляет разрешить все. Некоторым системам также может понадобиться набор учетных данных. В целом, разрешить любой доступ - это риск для безопасности, которого следует избегать:

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Credentials true

3) Чтобы разрешить использование нескольких доменов на веб-серверах Apache, добавьте в свой файл конфигурации следующее

<IfModule mod_headers.c>
    SetEnvIf Origin "http(s)?://(www\.)?(example.org|example.com)$" AccessControlAllowOrigin=$0$1
    Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
    Header set Access-Control-Allow-Credentials true
</IfModule>

4) Для разработки используйте только взломать браузер и разрешить неограниченное количество CORS с помощью расширения Chrome Allow-Control-Allow-Origin

5) Отключить CORS в Chrome: полностью выйти из Chrome. Откройте терминал и выполните следующее. Только будьте осторожны, вы отключаете веб-безопасность:

open -a Google\ Chrome --args --disable-web-security --user-data-dir

Ответ 3

Если вы используете Java и Spring MVC, вам просто нужно добавить следующую аннотацию в ваш метод, возвращающую вашу страницу:

@CrossOrigin(origins = "*")

"*" означает, что ваша страница будет доступна из любого места. См. Https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Access-Control-Allow-Origin для получения дополнительной информации об этом.

Ответ 4

<?php header("Access-Control-Allow-Origin: http://example.com"); ?>

Эта команда отключает только первую информацию о предупреждении консоли

приставка

Результат: консольный результат