web之超文本传输协议http、https的工作过程

http

1、建立tcp连接:三次握手
2、web浏览器向web服务器发送请求命令:get
3、web浏览器发送请求头信息:host,
即关于自身的信息;最后发送一个空请求头信息代表请求头信息发送完毕,若是post提交,会继续提交请求体
4、web服务器应答:
应答第一部分:版本号,协议状态码
5、web服务器发送应答头信息:
包含自己的信息一斤被请求的文档,同样,在最后发送一个空白行表示头信息发送完毕。
6、web服务器向浏览器发送数据:
以content-type应答头信息所描述的格式,发送用户所请求的实际数据
7、web服务器关闭tcp连接
一旦web服务器向浏览器发送了请求数据,他就要关闭tcp连接。若是添加了connection:keep-alive,tcp连接在发送后将仍然保持打开状态

http响应报文主要由状态行、响应头部、空行以及响应数据组成。
状态行
状态行由3部分组成,分别为:协议版本,状态码,状态码描述。
其中协议版本与请求报文一致,状态码描述是对状态码的简单描述,
状态代码为3位数字。
1xx:指示信息–表示请求已接收,继续处理。
2xx:成功–表示请求已被成功接收、理解、接受。
3xx:重定向–要完成请求必须进行更进一步的操作。
4xx:客户端错误–请求有语法错误或请求无法实现。
5xx:服务器端错误–服务器未能实现合法的请求。
响应头部
与请求头部类似,为响应报文添加了一些附加信息
响应数据
用于存放需要返回给客户端的数据信息。

https

与http相比,就是有了加密过程,即多了CA认证机构,具体过程如下:
准备工作:
1、服务器端生成公私钥spub,spri,私钥自己保存,公钥发给CA机构
2、CA机构生成自己的公私钥cpub,cpri,使用cpri对服务器发送的spub签名并生成CA证书
3、CA机构将生成的CA证书交给服务器
4、CA机构给浏览器内置CA根证书CA公钥cpub(此处认证机构的公开密钥必须安全地转交给客户端浏览器。使用通信方式时,如何安全转交是一件很困难的事,因此,多数浏览器开发商发布版本时,会事先在内部植入常用认证机关的公开密钥)
连接过程:
1、客户端发起TCP连接:三次握手
2、服务器将CA证书返回给客户端,证书包含spub,颁发机构,有效期等
3、客户端通过浏览器内置根证书的cpub验证CA证书的合法性
4、客户端生成随机对称秘钥
5、客户端将生成的对称秘钥通过spub加密发给服务器
6、双发通过客户端生成的随机秘钥进行http通信,数据传送
注:服务器并没有验证客户端的合法性,因为没必要。只有银行U盾之类才有必要验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值