- SSL证书,用于加密HTTP协议,也就是HTTPS 。
- 代码签名证书,用于签名二进制文件,比如Windows内核驱动,Firefox插件,Java代码签名等等 。
- 客户端证书,用于加密邮件 。
- 双因素证书,网银专业版使用的USB Key里面用的就是这种类型的证书 。
网站在使用HTTPS前,需要向“CA机构”申请颁发一份数字证书,数字证书里有证书持有者、证书持有者的公钥等信息,服务器把证书传输给浏览器,浏览器从证书里取公钥就行了,证书就如身份证一样,可以证明“该公钥对应该网站” 。然而这里又有一个显而易见的问题了,证书本身的传输过程中,如何防止被篡改?即如何证明证书本身的真实性?身份证有一些防伪技术,数字证书怎么防伪呢?3.4、数字签名我们把证书内容生成一份“签名”,比对证书内容和签名是否一致就能察觉是否被篡改 。这种技术就叫数字签名 。
数字签名制作过程:
- CA拥有非对称加密的私钥和公钥 。
- CA对证书明文信息进行hash 。
- 对hash后的值用私钥加密,得到数字签名 。
明文和数字签名共同组成了数字证书,这样一份数字证书就可以颁发给网站了 。那浏览器拿到服务器传来的数字证书后,如何验证它是不是真的?(有没有被篡改、掉包)浏览器验证过程:
- 拿到证书,得到明文T,数字签名S 。
- 用CA机构的公钥对S解密(由于是浏览器信任的机构,所以浏览器保有它的公钥 。详情见下文),得到S’ 。
- 用证书里说明的hash算法对明文T进行hash得到T’ 。
- 比较S’是否等于T’,等于则表明证书可信 。
- HTTP协议本身是无状态的 。什么是无状态呢,即服务器无法判断用户身份 。
- **cookie是由Web服务器保存在用户浏览器上的小文件(key-value格式),包含用户相关的信息 。**客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie 。客户端浏览器会把Cookie保存起来 。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器 。服务器检查该Cookie,以此来辨认用户身份 。
- session是依赖Cookie实现的 。session是服务器端对象session 是浏览器和服务器会话过程中,服务器分配的一块储存空间 。服务器默认为浏览器在cookie中设置 sessionid,浏览器在向服务器请求过程中传输 cookie 包含 sessionid ,服务器根据 sessionid 获取出会话中存储的信息,然后确定会话的身份信息 。
- 典型的场景是购物车,当你要添加商品到购物车的时候,系统不知道是哪个用户操作的,因为 HTTP 协议是无状态的 。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了 。
- 存储位置与安全性:cookie数据存放在客户端上,安全性较差,session数据放在服务器上,安全性相对更高;
- 存储空间:单个cookie保存的数据不能超过4K,**很多浏览器都限制一个站点最多保存20个cookie,**session无此限制
- 占用服务器资源:session一定时间内保存在服务器上,当访问增多,占用服务器性能,考虑到服务器性能方面,应当使用cookie 。
Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 做梦梦见鸡叫声好不好
- 虚拟服务器搭建 虚拟主机网站建设的几个步骤
- 汽车尾气什么污染
- 梦见吃瘦肉
- 学校专题民主生活会意见
- 局域网代理服务器设置 网页代理服务器怎么设置
- 大约是爱男主有什么病
- 火王乌衣教教主是谁
- web前端三大主流框架 easyui菜鸟教程
- 怀疑老公出轨如何让他主动坦白 该如何坐实老公出轨