Chrome и Firefox CORS AJAX-вызовы прерываются на некоторых компьютерах Mac
У нас есть веб-страница по адресу www.saddleback.com/live, и вызовы Chrome и Firefox CORS AJAX прерываются на некоторых компьютерах Mac. На Mac с OSX 10.9 (последние обновления), Chrome и Firefox (с последними обновлениями) AJAX обращается кhttp://api.saddleback.com/WorshipService?version=2&ноль&_ = 1386201207191 прерывается Это работает на Safari.
Это поведение изолированно, но воспроизводимо на некоторых машинах, но не на других. У нас есть другие машины Mac с идентичной ОС и версией браузера, которые успешно открывают веб-страницу.
Я подтвердил, что веб-сервер успешно отвечает на запрос AJAX в течение 500 миллисекунд. Тем не менее, Chrome ожидает ответа в течение ~ 30 секунд и в конечном итоге прерывает вызов. Я'мы включили chrome: // net-internals для неудачного вызова ниже:
11645: URL_REQUEST
http://api.saddleback.com/WorshipService?version=2&null&_=1386201207191
Start Time: 2013-12-04 15:53:27.469
t=1386201207469 [st= 0] +REQUEST_ALIVE [dt=30398]
t=1386201207470 [st= 1] +URL_REQUEST_START_JOB [dt=30397]
--> load_flags = 143540480 (DO_NOT_SAVE_COOKIES | DO_NOT_SEND_AUTH_DATA | DO_NOT_SEND_COOKIES | ENABLE_LOAD_TIMING | MAYBE_USER_GESTURE | REPORT_RAW_HEADERS | VERIFY_EV_CERT)
--> method = "GET"
--> priority = 2
--> url = "http://api.saddleback.com/WorshipService?version=2&null&_=1386201207191"
t=1386201207470 [st= 1] HTTP_CACHE_GET_BACKEND [dt=0]
t=1386201207470 [st= 1] HTTP_CACHE_OPEN_ENTRY [dt=0]
--> net_error = -2 (ERR_FAILED)
t=1386201207470 [st= 1] HTTP_CACHE_CREATE_ENTRY [dt=0]
t=1386201207470 [st= 1] HTTP_CACHE_ADD_TO_ENTRY [dt=0]
t=1386201207470 [st= 1] +HTTP_STREAM_REQUEST [dt=2]
t=1386201207472 [st= 3] HTTP_STREAM_REQUEST_BOUND_TO_JOB
--> source_dependency = 11647 (HTTP_STREAM_JOB)
t=1386201207472 [st= 3] -HTTP_STREAM_REQUEST
t=1386201207472 [st= 3] +HTTP_TRANSACTION_SEND_REQUEST [dt=0]
t=1386201207472 [st= 3] HTTP_TRANSACTION_SEND_REQUEST_HEADERS
--> GET /WorshipService?version=2&null&_=1386201207191 HTTP/1.1
Host: api.saddleback.com
Connection: keep-alive
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://www.saddleback.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Content-Type: application/json
Referer: http://www.saddleback.com/onlinecampus/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
t=1386201207472 [st= 3] -HTTP_TRANSACTION_SEND_REQUEST
t=1386201207472 [st= 3] +HTTP_TRANSACTION_READ_HEADERS [dt=30395]
t=1386201207472 [st= 3] +HTTP_STREAM_PARSER_READ_HEADERS [dt=30395]
t=1386201237867 [st=30398] CANCELLED
t=1386201237867 [st=30398] -URL_REQUEST_START_JOB
--> net_error = -3 (ERR_ABORTED)
t=1386201237867 [st=30398] -REQUEST_ALIVE
Вот запрос и ответ от Wireshark:
ЗАПРОС
GET /WorshipService?version=2&null&_=1386192341441 HTTP/1.1
[Expert Info (Chat/Sequence): GET /WorshipService?version=2&null&_=1386192341441 HTTP/1.1]
[Message: GET /WorshipService?version=2&null&_=1386192341441 HTTP/1.1]
[Severity level: Chat]
[Group: Sequence]
Request Method: GET
Request URI: /WorshipService?version=2&null&_=1386192341441
Request Version: HTTP/1.1
Host: api.saddleback.com
Connection: keep-alive
Cache-Control: max-age=0
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://www.saddleback.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
Content-Type: application/json
Referer: http://www.saddleback.com/onlinecampus/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
ОТВЕТ
HTTP/1.1 200 OK
[Expert Info (Chat/Sequence): HTTP/1.1 200 OK]
[Message: HTTP/1.1 200 OK]
[Severity level: Chat]
[Group: Sequence]
Request Version: HTTP/1.1
Status Code: 200
Response Phrase: OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
Access-Control-Allow-Origin: http://www.saddleback.com
Access-Control-Allow-Credentials: true
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 04 Dec 2013 21:25:41 GMT
Content-Length: 2841
[Content length: 2841]
Set-Cookie: NSC_ndxfc1-45*80=ffffffffaf181c9545525d5f4f58455e445a4a423660;expires=Wed, 04-Dec-2013 14:44:34 GMT;path=/;httponly
Я потратил слишком много времени, пытаясь выяснить, почему это происходит на некоторых конфигурациях Mac, а на других нет. Любая помощь приветствуется.