超連結到連接埠 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指定連接埠或任何其他連接埠是完全合法的。但是,如果您希望透過指定http://secure.site.com:443而不是使用 TLS/SSL 進行連接https://secure.site.com:443,那麼什麼也不會發生。單獨的連接埠不會開啟 SSL/TLS,當伺服器收到請求時它只會退出,您需要指定https告訴瀏覽器它需要使用 SSL/TLS。

如果您的伺服器按照正常約定進行配置,即伺服器偵聽連接埠上的80不安全流量並偵聽連接埠上443的 SSL/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

相關內容