我無法找到超連結的方法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 端點,則它將不起作用。這是有幾個原因的。
https
向瀏覽器發出信號,指示它應該使用 SSL/TLS 並在發送到伺服器之前對請求進行加密。指定https
是實現這一目標的唯一方法。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,而是端口443
,https
表示連接埠 443。