Назад | Перейти на главную страницу

Верно ли, что Nginx сообщает коды состояния HTTP / 1.1 с помощью SPDY (3.1)?

Вопросы


Информация, найденная при составлении этого вопроса:


Расследование и детали

В настоящее время я изучаю настройку своего сервера, и меня немного смущают коды состояния http, которые я вижу в консоли разработчика своего браузера.

Мой сервер работает под управлением Ubuntu 14.04 с обновленной версией Nginx (PPA). Nginx настроен на использование SPDY и самоподписанного сертификата. Я думаю, что SPDY настроен правильно, поскольку тест Qualys SSL Labs сообщил, что сервер предлагает SPDY 3.1 (и, конечно, есть множество плагинов для браузера), но есть HTTP/1.1 200 верный?

Вот полный запрос с моего сервера:

Request-URL:    https://myserver/lib/dojo/something.js?123456789

Request-Methode:    GET
Status-Code:    HTTP/1.1 200 OK
Request-Header 13:50:30.000
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0
Referer:    https://myserver/index.php
Pragma: no-cache
Host:   myserver
DNT:    1
Connection: keep-alive
Cache-Control:  no-cache
Accept-Language:    de-DE,en-US;q=0.8,de;q=0.5,en;q=0.3
Accept-Encoding:    gzip, deflate
Accept: */*

Sent Cookie
-xxx-

Response-Header Δ1ms
X-Firefox-Spdy: 3.1
Strict-Transport-Security:  max-age=15768000; includeSubDomains
Server: nginx/1.9.3
Last-Modified:  Tue, 08 Sep 2015 08:46:10 GMT
Expires:    Thu, 31 Dec 2037 23:55:55 GMT
Etag:   "-xxx-"
Date:   Sat, 12 Sep 2015 11:50:30 GMT
Content-Type:   application/javascript
Content-Length: 435035
Cache-Control:  max-age=315360000
Accept-Ranges:  bytes

Вот запрос на внешний отчет об активах HTTP/2.0 200:

Request-URL:    https://fonts.googleapis.com/css?family=Ubuntu
Request-Methode:    GET
Status-Code:    HTTP/2.0 200 OK
Request-Header 13:50:31.000
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0
Referer:    https://myserver/index.php
Pragma: no-cache
Host:   fonts.googleapis.com
DNT:    1
Connection: keep-alive
Cache-Control:  no-cache
Accept-Language:    de-DE,en-US;q=0.8,de;q=0.5,en;q=0.3
Accept-Encoding:    gzip, deflate
Accept: text/css,*/*;q=0.1

Response-Header Δ87ms
X-XSS-Protection:   1; mode=block
X-Frame-Options:    SAMEORIGIN
X-Firefox-Spdy: h2
X-Content-Type-Options: nosniff
Timing-Allow-Origin:    *
Server: GSE
Expires:    Sat, 12 Sep 2015 11:50:31 GMT
Date:   Sat, 12 Sep 2015 11:50:31 GMT
Content-Type:   text/css
Content-Length: 308
Content-Encoding:   gzip
Cache-Control:  private, max-age=86400
alternate-protocol: 443:quic,p=1
Alt-Svc:    quic=":443"; p="1"; ma=604800
access-control-allow-origin:    *

Я прочитал это объявление Как NGINX планирует поддерживать HTTP / 2, что помогло мне понять, почему я все еще могу видеть запросы к приложениям с HTTP / 1.1. Однако я сам не компилировал Nginx с патчем, и я не знал бы, что искать в источнике, но я предполагаю, что Nginx pre-HTTP / 2 просто сообщает HTTP/1.1 коды состояния, даже если он использует SPDY, в то время как другое программное обеспечение (например, GSE) может вести себя иначе.