В свете новой поддержки Cloudflare для HTTP2 server push, я пытаюсь предварительно загрузить запрос AJAX, который выполняется в Javascript в конце тела HTML. Тестирование проводится в Chrome Canary. Запрос делается в заголовках, поэтому его можно кэшировать для немедленной загрузки при повторном запросе.
Заголовок:
Link: </request>; rel=preload;
Это успешно запускает этот https://www.example.org/request. Он отправляет на этот URL следующие заголовки запросов:
Принять: * / *
Референт: https://www.example.org/request
User-Agent: Mozilla / 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, например Gecko) Chrome / 52.0.2726.0 Safari / 537.36
X-Requested-With: XMLHttpRequest
Проблема в том, что данные cookie не отправляются с запросом предварительной загрузки, а отправляются с существующим Javascript. Я не могу найти никакой информации о том, как это исправить, и даже о том, правильное ли это поведение. Похоже, что в спецификации нет упоминания о файлах cookie, поэтому, по-видимому, он должен обрабатываться как любой другой тип запроса.