为什么我们需要在使用HTTP协议时指定端口号?

时间:2018-06-16 13:20:40

标签: http networking web ip port

为什么我们需要使用IP地址指定端口号,即使我们使用的是HTTP协议?例如 - http://xyz:8080... - 这甚至意味着什么?我们已经知道,在使用HTTP时,请求将在端口80上提供,那么我们为什么要明确指定端口呢?

请与我讨论这个愚蠢的问题。

2 个答案:

答案 0 :(得分:7)

HTTP的默认端口为80,HTTPS为443,但端口号范围为0到65535.大多数Web服务器侦听默认端口,因此更容易引用没有端口的URL。例如,http://www.cnn.com/引用与http://www.cnn.com:80/相同的资源,因为端口80是默认端口。如果HTTP / HTTPS服务不是默认端口,则必须在URL中指定端口。

URL由RFC 1738定义,其语法简化,包括端口:

<scheme>://<host>:<port>/<url-path>

因此,例如,URL http://xyz:8080/...是指以HTTP作为协议侦听端口8080的主机名或IP地址。然后,该地址的HTTP(或Web)服务器将 url-path 解析为特定服务或文件。

当端口是给定方案或协议的默认端口时(例如,HTTP = 80),端口是可选的。

给定的计算机可以使用来自不同端口的HTTP服务托管多个不同的产品。例如,Apache Web服务器正在侦听给定服务器上的端口80,而Apache Tomcat正在侦听同一台机器上的端口8080。各种数据库和消息产品通常在不同端口上具有HTTP服务。 该端口是客户端可以引用特定服务的地址的一部分

答案 1 :(得分:2)

端口就像一个&#34;频道&#34;某种方式......如果您必须访问同一网站的不同功能,则使用不同的端口。 HTTP是端口80,HTTPS是443,SSH是22,依此类推。