入门:HTTP(二)
2018-07-09 本文已影响1人
长鲸向南
一、HTTP协议
HTTP协议的底层其实是TCP协议和IP协议构建的
- TCP(Transmission Control Protocol)传输控制协议
TCP和UDP的区别是什么
TCP是可靠的,面向连接的数据流传输,较UDP较慢
UDP是不可靠的,非面向连接的数据流传输,较TCP较快
可靠与否是看当成功后能否反馈给你。
- TCP的三次握手指的什么
每次建立连接前,客户端和服务端都要有三次对话才开始正是传输内容
第一次,客户端:喂,我要连接你了
第二次,服务端:en,我准备好了,连接吧
第三次,客户端:好的,那我开始传输了
开始传输内容
也就是说我们客户端和服务端需要三次对话才能正式传输,我们可能会好奇为什么是三次,因为这是能够达成可靠沟通的最小值,为了保证服务端能收接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客户端能够接收到服务端的信息并能做出正确的应答而进行后两次(第二次和第三次)握手。如果没有这三次对话,那就和UDP 一样直接传输了。
- IP协议
- 只要你在互联网中,你就会有IP。通俗意义上,IP分为内网IP和外网IP。
- 你从电信那里买来带宽,电信给你提供DNS 服务。
- 你的电脑手机等设备连接到路由器广播出来的WiFi上。
- 路由器连接到电信服务器,我们就有了一个外网IP,这就是我们在互联网中的地址。
- 路由器又会在我们的家里创造一个内网,给每个设备分配一个IP,这个IP就是内网IP。
- 现在路由器就有了两个IP,内网IP和外网IP,这有什么用呢?
- 内网之间设备可以直接访问,但是不能直接访问外网
- 我们的手机电脑等这些设备就是内网IP,所以我们想访问外网,就必须由路由器进行中转。
- 同理,外网发出回应页面,也是传给路由器中转,路由器知道如何给这些页面指路。
注:HTTP是负责如何书写内容的协议
TCP协议是负责如何传输的协议
IP协议是负责如何联网的协议
- 端口
我们访问一个设备(前提是使用TCP或UDP协议),仅仅指定IP是不够的,我们的服务器不止提供一种服务,比如它提供HTTP服务(网页服务)FTP服务(下载服务)SMTP服务(邮件发送服务),那么我们只指定了IP,服务器怎么知道我们需要什么服务呢?
所以我们必须要指定端口,端口是一个编号。
重要原则:一个端口对应一个服务。
比如:
- 要提供HTTP服务,你最好使用80端口
- 要提供HTTPS服务,你最好使用443端口
- 要提供FTP服务,你最好使用21端口
你可能会问了
Q1:我咋知道我用啥端口啊?
0-1023端口
Q2:一共有多少个端口? - 每个机器一共有65535(2的16次方-1)个端口(这是协议规定的)
- 0-1023(2的10次方-1)号端口是给系统使用的,只有管理员权限后才能使用这1024个端口
- 剩下的端口给普通用户
- 如果一个端口正在提公共服务,即被占用了,那就不能使用这个端口,除非停掉正在占用的服务。