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

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

У меня возникли проблемы с поиском способа создания гиперссылки наhttps://secure.mysite.net:443

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

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

Есть ли способ создания гиперссылок на порты с использованием PHP, Javascript или HTML?

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

решение1

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

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

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

Вероятно, никаких проблем нет.

решение2

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.

Связанный контент