Скажите, что я делаю Запрос HTTP к: foosite.com
но порт, к которому я на самом деле отправляю запрос, 6103, и я не вставляю тот порт Host
заголовок, например:
GET /barpage HTTP/1.1
Host: foosite.com
Method: GET
Сервер http должен затем распознать, что я пытаюсь говорить с ним на порте 6103? Или так как это было опущено в заголовке запроса, я играющий на деньги на том, если сервер на самом деле распознает это?
Я задаю тот вопрос для высказывания этого: я нашел, что браузеры, по крайней мере, Firefox + хром, вставили порт Host
заголовок. Но приложение Java, которое я использую, не делает. И когда порт не передается в Host
сервер отвечает, назад думая, что я нахожусь на порте 80. Таким образом, кого я должен дразнить? Оператор сервера или программист Java?
См. раздел 14.23 спецификации HTTP , в котором указывается, что номер порта должен быть включен, если это не порт по умолчанию, равный 80.