Обычный случай использования:
Ваш сервер накапливает данные. У какого чада - малое устройство WiFi (пусть ESP8266) с маленьким web-сервером отдающим страницу со встройкой javascript.
Страница, у чада, исполняется на мобилке и запрашивает накопленные данные с вашего web. Пусть скриптом типа, с передачей пароля:
JavaScript:
function ajax_get(url, d) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
console.log('response: ' + xhr.status);
if (xhr.status == 200) Load(xhr.response);
else console.error('XMLHttpRequest: response ' + xhr.status)}
}
};
xhr.ontimeout = function() {console.error('XMLHttpRequest: timeout')};
xhr.onerror = function () {console.error('XMLHttpRequest error!')};
if(window.location.protocol == 'file:') {
xmlhttp.open("POST", 'http://web'+url, true);
xmlhttp.setRequestHeader("Authorization", "Basic xxxxxxxxxxxxxxxxx=");
} else
xmlhttp.open("POST", url, true);
xhr.timeout = 4000;
xhr.responseType = 'json';
xhr.send(d);
}}
И т.к. XMLHttpRequest() с паролем (или для запуска HTML файла прямо с диска компа...), то эксплорер полезет с CORS запросами к вашему серверу...