80端口和8080端口本质上并没有什么区别,但浏览器对于这两个端口还是区别对待了,在浏览器的地址栏输入一个网址并不需要添加80端口号就可以直接访问,比如test.com如果采用8080端口访问就必须加上端口号test.com:8080。
当我们输入网站网址然后按下回车键的时候浏览器其实背地里已经帮我们加上了相关的协议和端口号了。这就好比邮递员经常都往小区里面的收件箱中投递信件,如果有一天收件箱突然撤掉了,邮递员就不知道送哪里了,于是邮递员就会联系寄件人,寄件人联系收件人,收件人就说放在保安室,那么之后寄件人寄送信件的时候就会标记保安室签收。经常用的收件箱就是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同样不需要输入端口号一样能访问网站。
认同我的看法,请点个赞再走,感谢!
没有本质上区别,web服务器默认端口为80断口。
java应用服务器默认为8080端口。但是这些端口都可以修改为别的。
但是默认端口好处是在很多应用时候就可以不用指定端口,访问url较短。
web服务的http协议如果用80端口的时候访问链接URL就可以使用简写模式,比如在浏览器输入www.toutiao.com
如果要用8080端口,则要书写为***:8080/index.htm的形式。
***则表示,用的是443端口。
其他也类似应用也类似ftp,21端口可以省用ftp://127.0.0.1
ssh如果不是22端口时,比如3422候访问就要用:
ssh -p 3242 git@github.com
mysql数据3306时候就可以不用指定端口;
其他常用默认协议和端口还有
smtp 25 pop3 110。
redis 6379
mongdb 17017
memcached 11211
另外80和8080还有一个区别8080大于1024。在linux下有个规定1024以下端口为特权保留端口只能有root账号启动监听,而大于1024的端口,一般用户也可以启动。
本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/baike/40673.html