![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
应用层
计算机网络应用层
每一个不曾起舞的日子,都是对生命的辜负
这个作者很懒,什么都没留下…
展开
-
心跳包与乒乓包
1. 心跳包客户端向服务端定时发送心跳包,通知服务端自己的状态的信息。 一般用于长连接的客户端,检测连接是否正常而提供的机制。 是基于应用层上的实现。2. 乒乓包心跳包一般是在建立连接后,定时发送心跳来检测连接是否正常。 而乒乓包是在没建立连接的情况下,定时向服务端发送(小型)数据包,询问服务器是否我需要拉去新的内容。如果收到服务端回复需要,则此时再建立连接,然后服务端将最新的数据发送给客户端。 也是基于应用层上的实现注意:可以再去了解一下tcp的探测分节。...原创 2021-10-02 15:33:49 · 126 阅读 · 0 评论 -
CA机构与数字证书
1. 数字证书组成公钥 持有者信息 证书认证机构(CA)的信息 CA对这份文件的数字签名以及使用的算法 证书的有效期 一些额外的其他信息2. CA签发证书流程首先CA会把持有者的公钥,用途,颁发者,有效时间等信息打成一个包,然后对这些信息进行hash计算,得到一个hash值H1 然后CA会使用自己的私钥将该Hash值加密,生成数字签名。 然后将这个数字签名添加到文件证书上,形成数字证书3. 客户端验证证书流程客户端会使用同样的Hash算法对证书的信息进行hash运算,得到一个h原创 2021-09-25 20:15:53 · 317 阅读 · 0 评论 -
HTTP1.1如何优化
使用keepAlive将短链接改为长连接1. 尽量避免发送HTTP请求利用缓存技术客户端会把第一次请求及响应的数据保存到本地磁盘上,其中将请求的URL作为key,响应作为value。两者形成映射关系 服务端响应内容时会估算一个过期的时间,并将这个信息放到响应头部中。 如果后续浏览器再次发送相同的请求,就先在本地磁盘通过key查找相应的value。如果找到了且还没过期,就直接从本地读取该相应。 如果过期了,客户端就需要重新向服务端发送请求,不过会在请求头部的Etag字段带上第一次响应的响原创 2021-09-25 19:31:17 · 141 阅读 · 0 评论 -
DHCP协议
动态主机配置协议,属于应用层1. 如何给自己的主机配置静态ipsudo ifconfig eth1 10.0.0.1/24sudo ifconfig eth1 up2. DHCP协议的工作方式步骤一:一台机器新加入一个网络,会发送广播请求(这个过程称为DHCP Discover)因为还没有分配ip,所以新人IP设置为0.0.0.0 因为不知道DHCP Server的IP,所以目的IP为广播255.255.255.255步骤二:DHCP Server会给出向应 (这个过程称为D原创 2021-08-31 15:40:54 · 118 阅读 · 0 评论 -
HTTP状态码301与302的区别
301重定向页面永久性转移。 当网页开发过程中出现网站目录结构调整,将页面转移到一个新的地址,此时用户搜索或者收藏夹里面的是之前的旧地址,访问后若没有301重定向会出现404页面 也可以实现多个域名跳转到同一个域名,比如www.baidu.com,还有一个域名为www.baidu.cc。 由于对这个域名设置了301重定向,当输入www.baidu.cc时,会自动跳转之www.baidu.com301重定向的作用有利于网站首选域的确定,对于同一资源页面的多条路径的301重定向有助于URL权重的集原创 2021-07-25 10:28:18 · 132 阅读 · 0 评论 -
HTTP的POST与GET的区别
使用场景GET用于获取资源,而POST用于传输实体主体参数GET的参数是以查询字符串出现在URL中,因为URL只支持ASCII码,所以中文参数需要被编码 POST也可以在URL上加参数,但它也可以将参数存储到实体主体中去 URL上的参数长度有限制,不同的浏览器限制不同,实体主体中的参数没有长度限制安全性(指对服务器端的安全性)get是可读的。不会改变服务器端状态,所以是安全的,同样还有HEAD、OPTIONS POST是不是安全的,因为它传送实体主体内容,这个内容可能是一些表单数据,服原创 2021-07-25 10:12:16 · 78 阅读 · 0 评论 -
HTTP1.0,1.1,2.0的版本区别
HTTP1.0浏览器与服务器之间只能建立短连接,即浏览器每次请求都需要与服务器建立一个TCP连接,服务器完成请求后就立即断开TCP连接HTTP1.1主要时引进了持久连接,即TCP连接默认不关闭,可以被多个请求复用。就是说建立一个TCP连接后,可以在里面发送多个HTTP请求请求的流水线处理(管道):以前时发一个HTTP请求后,收到HTTP响应后再发第二个HTTP请求,现在可以发送完第一个HTTP请求后不需要等收到响应就可以发送第二个HTTP请求。但是服务端必须按照接...原创 2021-07-25 09:52:42 · 186 阅读 · 1 评论 -
HTTP常见的返回码
1xx:指示信息。表示请求已接收,继续处理2xx:成功。表示请求以成功接收、理解、接受。3xx:重定向。要完成请求必须进行更进一步的操作。4xx:客户端错误。请求有语法错误或者请求无法实现5xx:服务端错误。服务器未能实现合法的请求。常见的状态返回码200 OK:客户端请求成功。表示请求被服务器正常处理。206 partial content:服务器已经正确处理部分GET请求,实现断点续传或同时分片下载,该请求必须包含Range请求头来指示客户端期望得到的范围,301 mov原创 2021-07-19 11:44:13 · 4203 阅读 · 0 评论 -
HTTPS的工作原理
https服务器默认端口时443用户通过浏览器请求https网站。服务器收到请求,选择浏览器支持的加密和hash算法,同时返回数字证书给浏览器,包括颁发机构,网站、公钥、证书有效期等信息 浏览器对证书的内容进行校验,如果有问题,则会有一个提示警告。否则就生成一个随机数X,同时使用证书中的公钥对这个随机数X进行加密,并且发送给服务器 服务器收到之后,使用私钥解密,得到随机数X,然后使用X对网页内容进行加密,返回给浏览器 浏览器则使用X和之前约定好的加密算法(对称加密)进行解密,得到最终的网页内容原创 2021-07-18 21:47:04 · 172 阅读 · 2 评论 -
一次HTTP请求的全过程
1. 域名解析浏览器搜索自己的DNS缓存 若没有 ,搜索操作系统的DNS缓存 若没有,搜索操作系统中hosts文件中是否有 若没有,操作系统将域名发送到本地域名服务器,本地域名服务器查询自己的DNS缓存 若没有(迭代查询) 本地域名服务器向根域名服务器发送请求,根域名服务器返回如com域的顶级域名服务器地址 本地域名服务器向顶级域名服务器发送请求,返回权限域名服务器地址 本地域名服务器向权限域名服务器发送请求,会得到具体的IP地址 本地域名服务器将IP地址返回给操作系统,同时自己也原创 2021-07-18 21:36:26 · 103 阅读 · 0 评论