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 -> 正文阅读

[网络协议]关于HTTP和HTTPS

一. 计算机网络模型

1 五层模型

物理层,数据链路层,网络层,传输层,(会话层,表示层),应用层。

物理层:处理通信连路上原始  比特  的传输

数据链路层:收集比特流形成  帧
(以太网协议)

网络层:处理分组交换网中节点之间的路由选择和  数据报  转发
(IP协议)

传输层:两个端系统中的进程之间的通信提供端到端的服务,报文 
(TCP协议,UDP协议)

应用层:直接为用户应用进程提供服务(传输单元不确定)
数据链路层

a.封装成帧:实现可靠传输(在一段数据的前后分别添加首部和尾部

b.透明传输:无论是什么报文都可以传输

c.差错控制:奇偶校验法和模二法

奇偶校验法:判断1出现的次数奇偶
模二法:生成多项式,模二除法得到多项式余数,填充0

d.常见协议:以太网协议

二. TCP/UDP区别

区别TCPUDP
连接性面向链接无连接
可靠性可靠不可靠
报文字节流报文
传输速度
连接对象一对一一对一,一对多,多对多
应用http协议DNS寻址

TCP保证可靠传输:

三次握手
拥塞窗口控制(保证接收方来得及接受)
慢启动算法(指数幂增长,到达拥塞窗口一半)
拥塞避免算法(慢启动到达拥塞窗口一半后开始慢慢增加)
超时重传

三. 三握四挥

三次握手:

1.客户端发送SYN(syn=x)包,等待服务器确认
2.服务端接受后,确认客户端SYN包,同时发送SYN包(syn=y和ack=x+1)
3.客户端收到后,确认服务端SYN包,发送确认包(ack=y+1),建立链接

为什么是三次不是四次或两次?

四次挥手:

1.客户端发送SYN包(syn=x),等待服务端确认
2.服务端接受后,发送ACK给客户端(ack=x+1),(期间可以发送数据)
3.服务端发送FIN和SYN包(syn=y),通知客户端不会在发数据并且请求断开链接
4.客户端接受,发送ACK包(ack=y+1),断开链接

四 .HTTP

1.http组成

起始行:方法+路径+http版本
头部:头部字段信息
空行:分开头部和主体
主体:数据

http常用方法:get,post,put,delete

2.http详解

2.1 http常见头部字段

头部字段作用
Connection否可以处理持久 HTTP 连接
Cookie浏览器的 cookies
HostURL 中的主机和端口
If-Modified-Since在指定的日期后已更改时
Referer预防csrf攻击
content-type信息类型
expires判断强缓存
cache-control判断强缓存
content-type类型解释
application/x-www-form-urlencoded提交原生form表单
multipart/form-datapost上传提交表单
application/jsonJSON 字符串

2.2 http常见响应码

响应码意义常见响应码
1XX临时响应100:请求者继续请求post中header
2XX成功200:成功
204:成功但无内容
3XX重定向301:永久重定向
302:临时重定向
304:未修改(HTTP缓存)
4XX请求错误400:错误请求
401:请求要求身份验证
404:服务器找不到请求页面
5XX服务器错误500:服务器内部错误

2.3 http中get和post区别

区别getpost
缓存缓存不缓存
编码URL编码无限制
参数明文传输请求体传输
TCP传一个报文分两个数据包传输

3.HTTP版本

http1.0

无连接:浏览器每次请求都需要建立tcp连接

无状态:服务器不跟踪不记录请求过的状态

http1.1

长连接:新增Connection字段,可以设置keep-alive值保持连接不断开

缓存处理:新增字段cache-control,检查读取缓存

断点传输:在上传/下载资源时,如果资源过大,将其分割为多个部分,分别上传/下载,如果遇到网络故障,可以从已经上传/下载好的地方继续请求,不用从头开始,提高效率

节约带宽:响应式数据排除

http2.0

多路复用:共享TCP链接的基础上同时发送请求和响应

头部压缩:客户端服务器分别存储头部信息,减少服务器压力

服务器推送:服务器可以额外的向客户端推送资源,而无需客户端明确的请求

http3.0

基于udp,音视频通话

4.HTTP缓存

4.1 Cache-Control与Expires

指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据,还是重新发请求到服务器取数据,Cache-Control优先级高于Expires

Cache-Control
no-cache:不直接使用缓存,根据是否过期来使用缓存
no-store:不使用缓存,每次下载新资源
max-age:缓存时长
public/private:是否只能被单个用户使用,默认为private
must-revalidate:每次访问需要缓存校验

4.2 Etag & If-None-Match

If-Not-Match与ETag生成一段hash字符串,标识资源的状态,由服务端产生。浏览器会将这串字符串传回服务器,验证资源是否已经修改
Etag是服务器端的唯一标识符

4.3 Last-modified & If-modified-since

服务器端文件的最后修改时间

判断Cache-Control与Expires,在缓存数据未失效的情况下,会命中强缓存,直接使用浏览器的缓存数据,不会再向服务器发送任何请求,http状态码200,如果没有命中强缓存,就会进行协商缓存,对响应头ETag和请求头if-none-match进行校验后,如果不一致,请求头中If-Not-Match和If-Modified-Since进行比较如果时间差不大,返回304状态码,走协商缓存缓存,否则直接返回数据(ETag是服务器端唯一标识,Last-Modified最后修改时间)

5.HTTPS加密

HTTPS

https=http+ssl

img

SSL加密过程

对称加密:有一个密钥,它可以加密一段信息,也可以对加密后的信息进行解密
非对称加密:有两把密钥,通常一把叫做公钥、一把叫私钥,用公钥加密的内容必须用私钥才能解开,同样,私钥加密的内容只有公钥能解开

情况1:
服务器端存在公钥A、私钥A,浏览器存在公钥B、私钥B。互相传输进行解密
情况2:
浏览器接受服务器公钥A,浏览器用公钥A加密秘钥X传服务端,服务器端用公钥A解密
偷换公钥A为公钥B(狸猫换太子)

HTTPS工作流程

客户端A访问服务器B,A生成随机数1,SSL版本加密算法等信息传递给服务器B

服务器B知道后确认双方加密算法,生成随机数2,并将随机数2和证书一同返回给客户端A

A得到证书后校验CA证书有效性,生成随机数3,把证书中的公钥加密随机数3传给服务器B

B得到加密随机数3,用私钥解密

客户端A和服务器B都用随机数1,2,3生成一个对话秘钥,之后通信用秘钥加密进行会话

img

HTTPS缺点

证书的选择、购买到部署,传统的模式下都会比较耗时耗力

与纯文本通信相比,加密通信会消耗更多的CPU及内存资源

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 13:09:19  更:2021-10-27 13:10:47 
 
开发: 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年11日历 -2024/11/26 5:29:58-

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