Как сервер HTTP должен рассматривать запросы, которые указывают протокол выше, чем HTTP/1.1?

mysqldump достаточен. существуют другие инструменты как innodb горячая копия или xtrabackup, который может сделать резервное копирование на основе ibd файлов..., но они - альтернативное решение к регулярному дампу mysql.

0
задан 22 June 2013 в 15:29
1 ответ

Я использую telnet в терминале Linux для ввода моих собственных сырых HTTP-запросов с различными версиями HTTP. Вот что я нахожу:

Запросы к серверу Microsoft IIS 7.5:

GET / HTTP / 1.2 приводит к тому, что сервер отвечает нормально с HTTP / 1.1.

GET / HTTP / 1.1234 приводит к тому, что сервер отвечает нормально с HTTP / 1.1.

GET / HTTP / 2.0 приводит к тому, что сервер отвечает с HTTP / 1.1 505 Версия HTTP не поддерживается .

Затем я попытался использовать сервер Apache. Его поведение отличается тем, что он всегда успешно отвечает (например, HTTP 200 ) HTTP / 1.1 , даже если основная версия HTTP в запросе больше 1. Он будет обслуживать обратные страницы (вместо того, чтобы отбрасывать 505 ), даже если я использовал версию HTTP, такую ​​как 3.1234.

Итак, в соответствии с поведением серверов IIS и Apache:

  • Пока основной номер версии HTTP равен 1, запрос будет обработан, если дополнительный номер версии больше 1 (например, 1.2, 1.1234), но ответ должен содержать HTTP / 1.1 .

  • Если основной номер версии HTTP не равен 1, то мне решать, возвращать ли я 505 Версия HTTP не поддерживается или обрабатывать запрос на HTTP / 1.1 . Для простоты я сделаю последнее.

0
ответ дан 5 December 2019 в 15:11

Теги

Похожие вопросы