服务器主机名讲解 服务器主机名是什么意思( 四 )


  1. SSL证书,用于加密HTTP协议,也就是HTTPS 。
  2. 代码签名证书,用于签名二进制文件,比如Windows内核驱动,Firefox插件,Java代码签名等等 。
  3. 客户端证书,用于加密邮件 。
  4. 双因素证书,网银专业版使用的USB Key里面用的就是这种类型的证书 。
网站在使用HTTPS前,需要向“CA机构”申请颁发一份数字证书,数字证书里有证书持有者、证书持有者的公钥等信息,服务器把证书传输给浏览器,浏览器从证书里取公钥就行了,证书就如身份证一样,可以证明“该公钥对应该网站” 。然而这里又有一个显而易见的问题了,证书本身的传输过程中,如何防止被篡改?即如何证明证书本身的真实性?身份证有一些防伪技术,数字证书怎么防伪呢?
3.4、数字签名我们把证书内容生成一份“签名”,比对证书内容和签名是否一致就能察觉是否被篡改 。这种技术就叫数字签名 。
数字签名制作过程:
  1. CA拥有非对称加密的私钥和公钥 。
  2. CA对证书明文信息进行hash 。
  3. 对hash后的值用私钥加密,得到数字签名 。
明文和数字签名共同组成了数字证书,这样一份数字证书就可以颁发给网站了 。那浏览器拿到服务器传来的数字证书后,如何验证它是不是真的?(有没有被篡改、掉包)
浏览器验证过程:
  1. 拿到证书,得到明文T,数字签名S 。
  2. 用CA机构的公钥对S解密(由于是浏览器信任的机构,所以浏览器保有它的公钥 。详情见下文),得到S’ 。
  3. 用证书里说明的hash算法对明文T进行hash得到T’ 。
  4. 比较S’是否等于T’,等于则表明证书可信 。
4. Session、Cookie & Token4.1、cookie
  1. HTTP协议本身是无状态的 。什么是无状态呢,即服务器无法判断用户身份 。
  2. **cookie是由Web服务器保存在用户浏览器上的小文件(key-value格式),包含用户相关的信息 。**客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie 。客户端浏览器会把Cookie保存起来 。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器 。服务器检查该Cookie,以此来辨认用户身份 。
4.2、session
  1. session是依赖Cookie实现的 。session是服务器端对象session 是浏览器和服务器会话过程中,服务器分配的一块储存空间 。服务器默认为浏览器在cookie中设置 sessionid,浏览器在向服务器请求过程中传输 cookie 包含 sessionid ,服务器根据 sessionid 获取出会话中存储的信息,然后确定会话的身份信息 。
  2. 典型的场景是购物车,当你要添加商品到购物车的时候,系统不知道是哪个用户操作的,因为 HTTP 协议是无状态的 。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了 。
cookie与session区别
  • 存储位置与安全性:cookie数据存放在客户端上,安全性较差,session数据放在服务器上,安全性相对更高;
  • 存储空间:单个cookie保存的数据不能超过4K,**很多浏览器都限制一个站点最多保存20个cookie,**session无此限制
  • 占用服务器资源:session一定时间内保存在服务器上,当访问增多,占用服务器性能,考虑到服务器性能方面,应当使用cookie 。
4.3、TokenToken的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生 。
Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: