You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<li>Мы создаём `XMLHttpRequest` и проверяем, поддерживает ли он событие `onload`. Если нет, то это старый `XMLHttpRequest`. Возможно, у нас IE8-9, значит надо попробовать `XDomainRequest`.</li>
43
-
<li>Запрос на другой домен отсылается просто указанием соответствующего URL в `open`. Он должен быть асинхронным.</li>
44
-
<li>Все браузеры, которые поддерживают кросс-доменные запросы, поддерживают и события `onload/onerror`, которые можно использовать вместо `onreadystatechange`.</li>
38
+
<li>Мы создаём `XMLHttpRequest` и проверяем, поддерживает ли он событие `onload`. Если нет, то это старый `XMLHttpRequest`, значит это IE8,9, и используем `XDomainRequest`.</li>
39
+
<li>Запрос на другой домен отсылается просто указанием соответствующего URL в `open`. Он обязательно должен быть асинхронным, в остальном -- никаких особенностей.</li>
45
40
</ol>
46
41
47
42
43
+
## Контроль безопасности
48
44
49
-
### Контроль безопасности
50
-
51
-
Контроль безопасности осуществляется на уровне браузера.
52
-
53
-
**В кросс-доменный запрос браузер автоматически добавляет заголовок `Origin`, содержащий домен, с которого осуществлён запрос.**
45
+
В кросс-доменный запрос браузер автоматически добавляет заголовок `Origin`, содержащий домен, с которого осуществлён запрос.
54
46
55
47
В данном случае заголовки будут примерно такие:
56
48
@@ -70,7 +62,7 @@ Origin:http://javascript.ru
70
62
Сервер должен, со своей стороны, ответить специальными заголовками, разрешает ли он такой запрос к себе.
71
63
72
64
73
-
**Если сервер разрешает кросс-доменный запрос с этого домена -- он должен добавить к ответу заголовок `Access-Control-Allow-Origin`, содержащий домен запроса или звёздочку `*`.**
65
+
**Если сервер разрешает кросс-доменный запрос с этого домена -- он должен добавить к ответу заголовок `Access-Control-Allow-Origin`, содержащий домен запроса (в данном случае "javascript.ru") или звёздочку `*`.**
74
66
75
67
Только при наличии такого заголовка в ответе -- браузер сочтёт запрос успешным, а иначе JavaScript получит ошибку.
0 commit comments