Php

使用埠 443 超連結到站點

  • December 1, 2011

我無法找到超連結到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 會這樣做 - 其他人也可能這樣做。)

如果您使用 https 在埠 80 上,您會看到: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為此指定或任何其他埠是完全合法的。但是,如果您希望通過指定http://secure.site.com:443而不是使用 TLS/SSL 進行連接https://secure.site.com:443,則不會發生任何事情。單獨的埠不會打開 SSL/TLS,當伺服器收到請求時它會退出,您需要指定https告訴瀏覽器它需要使用 SSL/TLS。

如果您的伺服器是按照正常約定配置的,即伺服器在埠上偵聽80不安全的流量並在埠上偵聽443SSL/TLS 流量,那麼絕對不需要在您的 URL 中同時指定https埠和埠。443瀏覽器已經知道這https意味著“使用埠443”(除非您指定了一些非標準的東西,例如10443,在這種情況下,它會將​​該埠號保留為 DOM 中 url 的一部分)。

當你說:

我試過了:<a href="https://secure.mysite.net:443/">HTTPS SSL</a>

但是它只需要我到https://secure.mysite.net(埠 80)

是的,它會帶你到https://secure.mysite.net,但是那不是埠 80 ,而是埠443https意味著埠 443

引用自:https://serverfault.com/questions/336461