Может ли '//' повлиять на производительность HTTP-запроса?
-
03-07-2019 - |
Вопрос
Предположим, что для любого URL-адреса вместо '/' в запросе случайно добавлен '//'.Может ли это повлиять на производительность HTTP-запроса?
например
Вот причина, по которой я спрашиваю об этом;в одном из наших приложений по какой-то причине динамические URL-адреса на рабочем сервере строились неправильно.Мы решаем эту проблему, но в то же время меня очень беспокоит, какие возможные проблемы могут возникнуть из-за этого?
Решение
Ну, я не знаю, как именно URL-адрес анализируется на стороне сервера, но да, вероятно, это повлияет на производительность.
Или, ну, влияние – не то слово.Это будет похоже на то, как крошечная муха кусает огромного мамонта... так что вам не стоит об этом беспокоиться.
Конечно, помимо производительности, было бы лучше просто указать правильный URL-адрес.Могут возникнуть другие последствия, и URL-адрес может не работать в будущем.
Другие советы
Это просто совпадение, что предоставленный вами URL-адрес перенаправляет на что-то, что имеет смысл.Если это не URL-адрес, вы получите 404 на многих серверах.
Особенно, если учесть все переписывание URL-адресов, происходящее в наши дни.
У меня есть переписывания, которые похожи на:^http://site.com/directory/{0,1}$
Это даст вам хороший 404;)
Опубликованный вами URL-адрес действительно влияет на производительность (игнорируя //).Тот факт, что URL-адрес использует перенаправление (код 301), приведет к снижению производительности при перенаправлении с http://www.microsoft.com/downloadsк http://www.microsoft.com/downloads/en/default.aspx.
Это также происходит, когда вы забываете добавить последнюю косую черту.
Я почти уверен, что влияние на производительность незначительно или даже не существует.
Попытка с Firefox, кажется, что FF просит получить http://www.microsoft.com//загрузкиПолучите 301 перемещение навсегда, а затем FF запрашивают правильный адрес (и в этом случае он получает еще 301, указывающий на http://www.microsoft.com/downloads/en/default.aspx) Так что да, есть проблема с производительностью, стресс сервера и неправильное поведение
(и, возможно, другая конфигурация сервера может действовать по-другому)
Нет, разницы нет.Или, по крайней мере, вы не можете оценить разницу.Просто сравните действия
ls /<any-path>/myFile
с
ls /<any-path>//myFile
Луис