《图解HTTP》学习总结----第一章

吐槽

最近也不能光学一样东西啊,网络的知识自己也提前学下,所以先把学长给我的《图解HTTP》这本书看完,每天抽出时间看下这个,然后总结下,相信以后会有用的哈。

什么叫HTTP

HTTP是个协议,是个规范,是个约定
那协议是什么
什么叫协议
在我的理解,协议就是一个规则,按照双方之前约定好的东西,就想你在C语言编译器上写个下面的代码

int main(void)
{
    printf("hello world");
    return 0;
}

然后输出结果就是hello world,计算机又听不懂你说的话,有不认识你写的字,但是就是按照之前的协议可以输出出来这个东西,人类的语言和文字也是个协议,电脑就只认识0和1,就是个机器罢了。
协议的三要素
语法:就是你说的话要有一定的规律,符合一定的规则,不能随便说,比如括号啊,空格啊,主谓宾这种东西。
语意:就是这句话代表的意思,比如中文说“我爱你”,英文就是“i love you ”,虽然这两个句子长的不像,但是表达都是同一种人类感情。
顺序:就是先干嘛后干嘛,后干嘛,要按一定的顺序来。

所以客户端和服务端相互发数据的时候采用的是HTTP协议
客户端——就是发送请求服务器资源的东西就叫客户端
网页是客户端,app是客户端等待

HTTP咋来的

一群大佬,在互联网的上古时代//1989年,他们想弄个传递文档,共享知识的东西,当时只是光想弄个超文本那种,后来慢慢进化了成这个样子的。
但是
HTTP在1990年产生,慢慢被人们接收,直到1997年HTTP/1.1版本问世,到目前还是主流。。。
个人感觉计算机的发展什么的,其实还是那一套规则,只有将旧的规则打破了,才可能计算机有质的改变哈

TCP/IP的家族

计算机网络体系结构分为3种:
OSI体系结构、TCP / IP体系结构、五层体系结构
OSI体系结构:概念清楚 & 理念完整,但复杂 & 不实用
TCP / IP体系结构:含了一系列构成互联网基础的网络协议,是Internet的核心协议 & 被广泛应用于局域网 和 广域网
五层体系结构:融合了OSI 与 TCP / IP的体系结构,目的是为了学习 和计算机原理

所以,,,,HTTP只是TCP/IP的儿子唉,,但这个儿子很实用哈

TCP/IP的分层管理

分层管理是个很有效率的方案哈 在TCP/IP 里面按照层次分为4层

应用层:决定了向用户提供应用服务时候通信的活动//HTTP也处于该层
传输层:传输层对上层应用层,提供处于网络链接的两台电脑之间的数据传输
网络层:处理网络上流动的数据包,该层规定了通过什么路径到达对方电脑,就是选择路线的
数据链路层:硬件的部分

分层虽然说处理起来很麻烦,但是好处有很多,如果某个地方有问题的时候,就把该层 的东西替换掉就好了,个个层之间接口规划好就行了

TCP/IP的通信传输流

TCP/IP四层模型
这里写图片描述
分层与对方进行通信
发送端从应用层往下走,接收端则往应用层走

拿一个Web页面发送HTTP请求举例
1先发送一个HTTP请求
2在传输层(TCP)协议把从应用层接收到的数据(HTTP请求报文)进行分割,并在各个报文上面打上标记序号和端口号,然后发给网络层。
3在网络层里面(IP协议)。增加作为通信目的地的MAC地址后,转发给链路层。
4接收到的服务器在链路层接收到数据,按照序列,一层一层往上发,然后当传到应用层的时候,才能算是真正接收到了
这里写图片描述
发送端在一层一层发东西时候,感觉就是和过海关一样,一层一层加上印记
接收端就是一层一层解开印记,去掉东西

可靠的TCP协议

http是一种应用层协议,它通过tcp实现了可靠的数据传输。详细的交互流程如下:
1客户端执行网络请求,从url里面解析出来服务器的主机名
2将服务器的主机名转换成服务器的ip地址
3将端口号从url解析出来
4建立一条客户端和服务器端的tcp链接
5客户端通过输入流向服务器发送一条http请求
6服务器向客户端回送一条http响应报文
7客户端从输入流获取报文
8解析报文,关闭连接

为了能确保正确的到达目标——–三次握手
这里之前写过三次握手的

负责域名的解析和DNS服务

DNS服务和HTTP一样的,都是处于应用层的协议
作用:提供域名到IP地址之间的解析服务

计算机既可以被赋予IP地址,也可以被赋予主机名字和域名
用户通常使用主机名字或者域名来访问对方计算机,而不是通过IP地址访问
但是计算机又不好理解这个,因为计算机只能看懂0和1,就是数字对他方便一点
所以,为了解决这个问题,就产生了DNS服务,DNS协议提供通过域名来查找IP地址,或者反过来解析
这里写图片描述

个个协议和HTTP协议的关系

这里写图片描述

猜你喜欢

转载自blog.csdn.net/sakurakider/article/details/81071125