目录
写在前面
端口及其特点
端口号的范围和分类
在HTTP超文本传输协议中80端口有正式的身份
写在前面
首先,确定以及肯定的是他们俩是完全不同的端口。一般80作为网页服务器的访问端口,比如一个网站的ip地址是119.119.119.119,我们在浏览器地址栏里访问119.119.119.119,其实是访问的是119.119.119.119:80 只是80是http协议的默认端口可以省略,所以这就是我们平时在浏览器的地址栏输入一个网址并不需要添加80端口号就可以直接访问的原因。但是如果一个服务器上有不同的站点,那可以用另外的端口,比如119.119.119.119:8080 来访问,选择8080是因为两个80好记。
当我们输入网站网址然后按下回车键的时候浏览器其实背地里已经帮我们加上了相关的协议和端口号了。这就好比邮递员经常都往小区里面的收件箱中投递信件,如果有一天收件箱突然撤掉了,邮递员就不知道送哪里了,于是邮递员就会联系寄件人,寄件人联系收件人,收件人就说放在保安室,那么之后寄件人寄送信件的时候就会标记保安室签收。经常用的收件箱就是80端口,而8080端口就是被标记的保安室签收。
端口及其特点
如果说IP地址是用来定位某一个小区,那么端口所对应的就是这个小区中每一户的门牌号。电脑、手机等电子产品内部有很多的程序同时在跑,数据进来之后必须要给它们分配一个对应的端口号,这样程序才能进行后续的操作。
端口号也是传输协议的一部分,程序不仅仅会监听指定的端口号,还会明确它所对应的传输协议。也就是说进行数据传输的过程既要指定对应的端口号,也要指定对应的通信协议。比如程序A监听33000端口是不对的,应该说程序A使用TCP协议监听33000端口或者程序A使用UDP协议监听33000端口。
指定传输协议和端口的优势非常明显,比如在构建防火墙和端口转发的时候就可以通过协议和端口进行隔离,避免出现意外的情况发生。我们常用的上网的电脑也是通过这样的方式来阻止外网各种不必要的数据进入本地局域网内。
端口号的范围和分类
下图是我们常常见到的一些端口,它们很早就已经被赋予了特殊的用途,正是因为这些特殊的用途而被大家所熟知。比如80端口是网站所常用的端口,3306则是mysql所用的端口。其实端口不仅仅有这些,TCP、UDP协议的段结构的端口地址是16bit,所以可以有2的16次方个端口,也就是0~65535范围内的端口号。
这么多的端口号,如果所有的程序都使用同一个端口必然会造成冲突的情况,所以就有了IANA这个组织来负责对端口进行管理注册。1~1024之间的端口号基本上已经被占用了,而大多数的TCP/IP会临时分配1024~5000之间的端口,而大于5000的端口是为其他服务所预留的。
在HTTP超文本传输协议中80端口有正式的身份
既然80端口有正式的身份,那么8080端口就有代理的意味,所以要标记上代理的标志。所以,8080端口通常用于代理服务器和缓存服务器中,或者作为web服务器的备用端口号。
现如今80端口也日渐式微,渐渐地被443端口所取代。只因为80端口所代表的http协议是一种明文不安全的传输协议,而443端口所代表的https协议会对传输的内容进行加密,会安全很多。443端口所代表的https同样不需要输入端口号一样能访问网站。
🔅 参考资料
探秘 | 如何关闭 / 开启电脑的80端口?
我在浏览器里面输入http://127.0.0.1:8080/和127.0.0.1直接访问有什么区别?