HTTP协议回顾和TCP/IP协议
HTTP协议
之前说了HTTP协议,HTTP协议包括4个部分,格式为:
请求一般有3个部分,有时候有4个部分,登陆账号时,需要上传数据,有会有四个部分。基本格式是
第一部分:Get - 访问的路径 - 协议 - 版本号
第二部分:key : value (定义第四部分数据的格式,和各种声明)
第三部分: 用于是一个回车
第四部分:上传的数据
响应有四个部分组成,基本格式是
第一部分:协议-版本-状态码
第二部分:key:value (定义第四部分,和各种声明)
第三部分:永远是个回车
第四部分:服务器给你的反馈的东西
这就是HTTP协议的请求和响应
TCP/IP协议
TCP 的中文是传输控制协议,顾名思义TCP是一种传输的协议,类似古代我们要传个信,我们是把信先写好,然后绑在鸽子的脚上,然后放飞,这是古代传输的方式,那TCP就是互联网传输的方式,是一种协议,因为里面有很多规则要去遵守
TCP和UDP的区别
TCP是可靠(传输的成功与否,我是知道的),面向连接(需要建立一个连接),相对UDP较慢
UDP是不可靠,不面向链接,相对于TCP较快
怎么理解上面的话呢 TCP和UDP都是传输的协议,UDP传输可以理解成,我们把信绑在鸽子身上,放走,至于有没有传到收信手里,我是不知道的。(因为古时候会射箭的人还是蛮多的,自己脑补),tcp可以理解成小时候玩的千里传音,用跟线连接两个纸杯,然后A说话,B可以听见。 A和B中间是有跟线连着的,所以说TCP面向连接,UDP放鸽子就没有那根线,并且A说话:你能听到吗? B会告诉A 我可以听到,所以TCP是可靠的,UDP就不可能,对方有没有收到信息,我是不知道了 ,因为鸽子可能会被射死或者飞回家了。至于UDP比TCP快,这里只能死记了。
TCP三次握手
客户端:喂,能听到我说话吗
服务器:嗯,能听到
客户端:那我要开始说话了
不多说了,看上面就应该可以看懂了
IP网络协议
路由器:只要路由器连上电信的服务器,那么路由器就会有一个外网IP,如果重启路由器,很有可能被重新分配一个外网IP。
也可以租用一个固定IP(万维网IP,公网IP)
路由器里面就有一个HTTP服务器,所以我们就用通过 192.168.1.1(一般默认的网关) 访问路由器
路由器外部叫外网 路由器内部叫内网,也可以叫局域网
外部(baidu.com qq.com) 要给 内网设备(手机,电脑,ipad) 内容,是通过路由器,被路由器指定的一条路,分发给设备
内网设备(手机,电脑,ipad)要给 外部(baidu.com qq.com)发请求,也是通过路由器
路由器类似于一个双料间谍,它知道外网的信息,也知道内网的信息,所以路由器也被叫为网关,在网络的关键节点的一个设备,负责分发请求和响应
127.0.0.1 表示自己 ,永远表示设备自己。
端口 port
一个服务器,提供很多服务,比如ftp http smtp等等各种服务,所以服务器上面有很多端口,每个端口号负责一个服务,比如21端口就负责FTP服务,80端口就负责HTTP服务,1080端口就负责代理服务
如果没有这些端口,如果同时来了3个服务,服务器就down了。我们在访问服务器的时候需要输入端口号。为什么我们平时不输入80呢?因为浏览器默认了帮我们输入了80.
一个机器有65535个端口(2的10次方减1) 一个机器可以提供60000多种服务
0-1023号端口,是留给系统用的,只有管理员权限后,才能用这1024个端口。用管理员权限打开Gitbash ,才能获取管理员权限,才能用这1024个端口。
通过上面我们就可以来想一想从输入url 到网页打开 发送了什么 ?
1.浏览器会看我们输入的地址,如果没有输入路径,就会帮我们补充/ 如果没有端口号,就帮我们补上端口号,如果没有输入协议,就帮我们补充HTTP
2.开始找输入域名所对应的IP,这里分三步,1.在浏览器缓存里面找 2.在系统hosts里面找 3.问DNS服务器
3.得到IP后,在根据之前的端口,我们就会访问服务器的80端口
4.服务器接到我们的请求,就会根据我们的请求路径,给我们一个响应(其实就是一个HTML的文件)
5.浏览器下载这个文件,然后开始解析,展现到我们眼前,在解析过程里面,遇到link,就会在给服务器发给请求,请求CSS文件 ,遇到img,就会再发请求,请求图片文件。反正展现一个页面,浏览器要向服务器发很多请求。