当浏览器向 Web 服务器创建请求时,它们会添加包含源端口和目标端口的第 4 层标头。源端口是客户端计算机上自由选择的随机端口,而目标端口是 HTTP 的 80 或 HTTPS 的 443。但是,如果 Web 服务器侦听 80 或 443 以外的端口怎么办?请求如何到达目的地?
我知道端口转发,我们也可以直接在URL中指定端口号,格式为PROTOCOL://DOMAIN_NAME:PORT_NUMBER。还有其他方法吗?
浏览器通常支持 URL 类型白名单。
对于是否将它们描述为方案(URL 的前缀)或协议(无论通过网络传输的内容),经常存在一些分歧。
但是当浏览器接受 URL 时,如果 URL 中没有指定端口号,则将使用默认端口。通常,浏览器有一个内部列表(换句话说,大多数浏览器不会遵守
/etc/services
)。
浏览器通常支持各种形式的代理,例如“CONNECT”和各种版本的“SOCKS”,但通常浏览器不允许默认端口的可配置重定向,因为这些是广泛分布的最终用户应用程序。
这些代理配置会将所有请求发送到代理服务器的端口。如果您想要真正的奇特,PAC 文件允许代理使用的动态映射。
从编码的角度来看,如果您在内部使用 URL 引用,则应该始终考虑使用显式端口号。