IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTP的状态码、HTTPS的传输过程、DNS的解析过程 -> 正文阅读

[网络协议]HTTP的状态码、HTTPS的传输过程、DNS的解析过程

一、HTTP的状态码:状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100-199),成功响应(200-299),重定向(300-399),客户端错误(400-499)和服务器错误(500-599)。
二、HTTPS的传输演变过程
1、单钥匙锁:
数据在传输时上了一把锁,同时附加一把钥匙,这个锁在加密时需要这把钥匙,在解密时同样需要这把钥匙。
2、双钥匙锁——防篡改
数据在传输时上了一把锁,与这个锁对应的有两把不同的钥匙A和B,其逻辑为:若用A钥匙加锁,则必须用B钥匙解锁。反之,用B钥匙加锁,则必须用A钥匙解锁。
3、双钥匙锁——防泄漏
数据在传输时上了一把锁,与这个锁相对应的有四把不同的钥匙,分别为A、B、C、D,客户端拿着钥匙C和钥匙D,目前客户端拥有钥匙B,如果客户端使用钥匙B去加锁,那么只有钥匙A才能解锁,而钥匙A只有服务端才有,这样,客户端用钥匙B加锁的数据,就没有任何人可以篡改了,就着这个思路,因为客户端和服务端是完全对称的关系,所以只要客户端持有钥匙C和钥匙D,然后客户端将钥匙D给服务端,客户端自身保留钥匙C,这样,服务端用钥匙D加锁数据,就只有客户端可以解开。
这样就保证了“双向通信的安全性”数据在传输过程中就无法查看及篡改,因为会被客户端及服务端发现。但缺点在于,这样的设计过于复杂,传输效率过低。
4、单双钥匙相互配合
最初的单钥匙锁的效率很高,但因为在传送钥匙的过程中容易被复制,然后对数据的传输不安全。那么,则可以用双钥匙锁的安全性,把单钥匙锁的钥匙安全地传送给对方,然后再用单钥匙锁,高效率的通信。这样,安全和传输效率就都能保证了。
5、找公证人做公证
首先,我们至少有一次,就是第一次传输的那把钥匙,是无法进行加密的,会在传输过程中被看到,这个是无法避免的,但是我们可以做到,就算让看到,却无法做到篡改。
这样,就需要有一位公证人,公证人也准备两把钥匙,分别为钥匙J和钥匙K,然后将钥匙K公开让所有人都知道。
然后,在客户端第一次准备给服务端钥匙D时,找到公证人,将钥匙D用公证人的钥匙J加锁。
然后客户端将这个用钥匙J加锁的盒子传输给服务端,然后服务端使用公证人的钥匙K对这个盒子进行解锁,,这样就可以得到客户端的钥匙D了。
这样,即便在传输过程中用公开的钥匙K打开,看到钥匙D,但是却无法将伪造的钥匙传给对端,因为这个盒子必须用钥匙J加锁,而钥匙J只有公证人才知道 ,这样,钥匙在传输过程中,只能被看而不能被篡改了。
如果不能篡改,那么,我就能成功用客户端给我的真正的钥匙D加锁我们之后通讯用的钥匙M,于是,钥匙M就可以安全地传给客户端,之后双方对端就可以使用这个谁也不知道的钥匙M,和配套的单钥匙锁,进行通讯!
三、DNS解析过程
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该记录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该记录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该记录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的记录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:17:07  更:2022-07-20 19:17:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 15:34:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码