-----------------------✂---------------------------
协议概念
( ̄^ ̄)ゞ
二者均为服务器和客户端进行数据交互的一种形式
https较http,增添加密方式,因此更为安全
-----------------------✂---------------------------
HTTP 常用丶请求头信息
( ̄^ ̄)ゞ
User-Agent丨请求载体的身份标识
Connection丨请求完毕后,是否断开链接或保持链接
accept丨浏览器通过这个头告诉服务器,它所支持的数据类型
Accept-Charset丨浏览器通过这个头告诉服务器,它支持哪种字符集
Accept-Encoding丨浏览器通过这个头告诉服务器,支持的压缩格式
Accept-Language丨浏览器通过这个头告诉服务器,它的语言环境
Host丨浏览器通过这个头告诉服务器,想访问哪台主机
If-Modified-Since丨浏览器通过这个头告诉服务器,缓存数据的时间
Referer丨浏览器通过这个头告诉服务器,客户机是哪个页面来的 防盗链
X-Requested-With丨XMLHttpRequest 代表通过ajax方式进行访问
HTTP 常用丶响应头信息
( ̄^ ̄)ゞ
Content-Type丨服务器响应回客户端的数据类型
Content-Encoding丨服务器通过这个头,告诉浏览器,数据的压缩格式
Content-Length丨服务器通过这个头,告诉浏览器回送数据的长度
Content-Language丨服务器通过这个头,告诉浏览器语言环境
Content-Disposition丨服务器通过这个头,告诉浏览器以下载方式打数据
Location丨服务器通过这个头,来告诉浏览器跳到哪里
Server丨服务器通过这个头,告诉浏览器服务器的型号
Refresh丨服务器通过这个头,告诉浏览器定时刷新
Transfer-Encoding丨服务器通过这个头,告诉浏览器数据是以分块方式回送的
Expires丨-1 控制浏览器不要缓存
Cache-Control: no-cache
Pragma: no-cache
-----------------------✂---------------------------
加密方式
( ̄^ ̄)ゞ
丨对称秘钥加密丨
- 客户端向服务器发送一条信息
- 客户端会采用已知的算法对信息进行加密,比如MD5或者Base64加密
- 接收端对加密的信息进行解密的时候需要用到密钥,中间会传递密钥
密钥在传输中间是被加密的。这种方式看起来安全,但是仍有潜在的危险,一旦被窃听,或者信息被挟持,就有可能破解密钥,而破解其中的信息。因此“共享密钥加密”这种方式存在安全隐患
丨非对称秘钥加密丨
- “非对称加密”使用的时候有两把锁,一把叫做“私有密钥”,一把是“公开密钥”
- 使用非对象加密的加密方式的时候
服务器首先告诉客户端按照自己给定的公开密钥进行加密处理
客户端按照公开密钥加密以后,服务器接受到信息再通过自己的私有密钥进行解密
非对称秘钥加密做的好处就是解密的钥匙根本就不会进行传输,因此也就避免了被挟持的风险
就算公开密钥被窃听者拿到了,它也很难进行解密,因为解密过程是对离散对数求值,这可不是轻而易举就能做到的事
- 缺点:
① 如何保证接收端向发送端发出公开秘钥的时候,发送端确保收到的是预先要发送的,而不会被挟持。只要是发送密钥,就有可能有被挟持的风险。
② 非对称加密的方式效率比较低,它处理起来更为复杂,通信过程中使用就有一定的效率问题而影响通信速度
丨证书秘钥加密丨
- 公开秘钥→证书认证机构→公钥签名→证书
服务器的开发者携带公开密钥,向数字证书认证机构提出公开密钥的申请,数字证书认证机构在认清申请者的身份,审核通过以后,会对开发者申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将密钥放在证书里面,绑定在一起