为何HTTP通信可使用80以外端口?解析Kurose教材案例
非80端口的HTTP服务器为何能正常工作
- 80只是HTTP协议的默认端口,并非强制必须使用的端口。当浏览器访问未指定端口的HTTP URL时,才会自动使用80端口;如果URL里明确标注了端口(比如示例中的
:6789),浏览器会直接向这个指定端口发起连接请求。 - 服务器程序只要绑定到一个未被占用的非系统保留端口(通常1-1023为系统保留端口,需管理员权限才能绑定,6789不在此范围内),就能正常监听该端口的请求。普通用户进程也能绑定6789这类端口,所以书中的服务器可以正常运行。
- HTTP响应的流向完全由请求的目标端口决定:浏览器向6789端口发送请求,服务器在该端口接收并处理后,会直接从这个端口返回响应,不会被定向到80端口。整个通信的端口是一一对应的,由请求发起时指定的端口主导。
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

