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

Гиперссылка на сайт с портом 443

Мне не удается найти способ гиперссылки на https://secure.mysite.net:443

Я попытался: <a href="https://secure.mysite.net:443/">HTTPS SSL</a>

Однако это просто приводит меня к https://secure.mysite.net (порт 80)

Есть ли способ гиперссылки на порты с помощью PHP, Javascript или HTML?

Я почти везде искал ответ :(

Однако это просто приводит меня к https://secure.mysite.net (порт 80)

Вероятно, нет: 443 - это порт по умолчанию для https, поэтому нет необходимости указывать его явно, и некоторые браузеры даже удаляют его из URL-адреса (быстрая проверка показывает, что, по крайней мере, Chrome делает - другие, вероятно, тоже.)

Если бы вы были на 80-м порту с использованием https, вы бы увидели :80 добавлен в URL.

Наверное, нет проблем.

IE, Chrome и Firefox ведут себя примерно так же, когда дело доходит до синтаксического анализа URI.

Если вы укажете href="https://secure.site.com:443" большинство браузеров будут анализировать это в DOM как https://secure.site.com". В 443 часть удалена, потому что она избыточна и потому что порт по умолчанию для https уже и всегда 443.

Если вы выполните просмотр исходного кода, вы увидите, что было отправлено в браузер, https://secure.site.com:443 останутся нетронутыми, однако, если вы проверите DOM, это будет проанализировано из:

https://secure.site.com:443

Кому:

https://secure.site.com

Однако если вы укажете порт, отличный от 443 в сочетании с https, например:

https://secure.site.com:409

Тогда порт останется нетронутым и останется частью URL-адреса в действующей модели DOM.

Вы не можете указать http://secure.site.com:443, ну вы можете, но это не сработает, если это конечная точка SSL / TLS. На это есть несколько причин.

  1. https сигнализирует браузеру, что он должен задействовать SSL / TLS и зашифровать запрос перед отправкой на сервер. Указание https это единственный способ добиться этого.

  2. Совершенно законно указать http://secure.site.com:443 или любой другой порт в этом отношении. Однако, если вы планируете подключиться с использованием TLS / SSL, указав http://secure.site.com:443 вместо того https://secure.site.com:443, то ничего не произойдет. Один только порт не включает SSL / TLS, и когда сервер получит запрос, он просто выйдет из строя, вам необходимо указать https чтобы сообщить браузеру, что ему необходимо использовать SSL / TLS.

Если ваш сервер настроен в соответствии с обычными соглашениями, то есть сервер прослушивает порт 80 для незащищенного трафика и прослушивает порт 443 для трафика SSL / TLS нет необходимости указывать оба https и порт 443 в вашем URL. Браузер уже знает, что https означает "использовать порт" 443"(если вы не указали что-то нестандартное, например 10443, и в этом случае он сохранит этот номер порта как часть URL-адреса в DOM).

Когда ты говоришь:

Я попытался: <a href="https://secure.mysite.net:443/">HTTPS SSL</a>
Однако это просто приводит меня к https://secure.mysite.net (порт 80)

Да, это приведет вас к https://secure.mysite.net, однако это не порт 80, это порт 443, https означает порт 443.