http协议

1、定义:HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。

2.1 认识url

 2.2 urlencode和urldecode

urlencode是一种编码方式,urldecode是一种解码方式。客户端通过http协议发送请求时,会对请求进行urlencode编码。http使用urldecode解码。

3、 请求格式  响应格式

 4、HTTP方法

5、HTTP响应的状态码

 6、Cookie 和session

7、HTTP和HTTPS差别

HTTP:使用HTTP协议进行通信的双方,数据没有经过加密,数据在网络上是裸奔的。使用抓包工具fiddler可以捕捉到对应的数据。get方法提交的数据,请求时网页上都可以直接看到,post被抓包工具抓包后也能看到。故HTTP协议不具有保密性。

HTTPS:

 HTTPS加密方式:

7.1、对称加密:双方共用一个密钥,两边通信同时使用这一个密钥加密解密

非对称加密:有公钥和私钥,公钥暴露,用公钥加密后,私钥来解密。

所有的密码学加密算法,都和cpu有关,只要算力足够强大,就可以破解一个加密的数据。强大的算力有很大的成本。安全的本质就是:破解的成本 >> 破解的收益。

加密的过程简单理解:

7.2、加密情况下的通信问题:

7.2.1、可以直接使用对称密钥进行加密解密吗?

不可以,使用加密算法,对方首先要知道你的密钥,那么就可能存在被第三方截获的情况,那么其就可以解密得到你的数据和服务器的数据

所以1、http一开始通信的时候绝对不可以使用对称密钥

7.2.2、想要做到安全通信可以使用2对公钥和私钥吗?可以,但是client和server必须提前内置公钥和私钥。但是这样效率没有对称密钥高。

所以,使用非对称密钥加密解密算法(密钥协商阶段) + 对称密钥加密解密算法(加密通信阶段)。

7.2.3、密钥协商阶段使用非对称密钥 + 加密通信阶段使用对称密钥存在的问题

正常情况下:

发生问题:中间人有非对称密钥,并可将client和server的通信进行修改

 解决问题:本质上要确保对方发来的公钥是合法的,也就是对方的主机server必须合法

CA认证:权威机构对网站和服务器进行了合法的认证,颁发了证书:

client端在操作系统或者浏览器出厂的时候,内置了各种权威的根认机构的各种证书

证书内容如下:

 server的公钥和私钥用来进行非对称密钥协商,CA的用来验证证书合法性

client端如何进行证书验证?如下

 由于任何人都没有CA的私钥,所以无法形成CA的指纹,所以无人能够更改证书,也就无人能够中间攻击。

个人总结:中间人想要攻击别人必须将自己的公钥给客户端,然后手拿server端公钥,就变成了两头通吃。但是现在先认证证书了,证书上还带有server的公钥,所以中间人公钥给不到客户端。所以,想要攻击别人得修改证书,但是你又没有CA私钥,那么你修改后,客户端对证书进行认证的时候就发现错误了,所以根本无法有效攻击。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值