家里有事,所以最近不加班,导致我每天忙的团团转,实在挤不出时间看书,请谅解~
接着上一篇随笔,我原先计划总结HTTP首部这个重要的内容,但是这些内容是琐碎的,是有点儿拗口的,又是重要的。希望大家可以结合书本第六章以及浏览器开发工具里的请求和响应等实际情况,去理解第六章,大概就会明白我现在虽然读完了第六章,但是却依然无法总结出来点东西的无奈。。
废话很多,这里是正文,网友们
1 HTTP安全及安全小能手HTTPS
互联网是一个连通你我他的广阔大环境,它不是私人的,任何人都拥有索取和发送的权利,当然,也可以有人蹲在墙角偷听,偷听时皮一下,可能会对报文进行破坏和修改。So,what should we do guys?
一定会有阿秀同学说 加密呗! 但是加密处理的通信,也一定能让别人窥视到,只是在一定程度上的保护报文有可能不会被解密,但是依然可以被篡改。 为了防止被窃听,我们可以使用通信的加密。所以对于加密来说,我们分为通信加密和内容加密,通信加密就是使用运输层的SSL或TLS的组合使用,建成一个安全线路,保护该线上的报文,还有一种是报文内容加密,客户端和服务端同事具有加密解密机制,可以在一定程度保护报文。
那如果坏人伪装成用户,对服务器请求消息,该怎么办?如果该用户没有权限访问我网站的用户数量,服务端该怎么处理?当然有方法!我们使用证书,虽然HTTP协议无法确定通信仿,但是使用SSL就可以,因为它不仅提供加密处理,而且使用一种手段叫证书,可以确定通信方。这对使用者里说,减少了个人信息泄露危险性,也完成了有效的认证。
所以SSL是一个好伙伴,为了将二者组合,HTTPS出现,(原文->)HTTPS是添加了加密及认证机制的HTTP,换言,HTTPS是身披SSL外壳的HTTP。但是目前并没有一直使用HTTPS,因为它也有缺点,加密解密会消耗CPU及内存资源,所以对于非敏感信息,我们可以不使用HTTPS。差点忘了,这里还有个面试知识点,SSL是使用非对称加密的方式哦!
2 确认访问用户身份的认证
对于那些请求敏感信息的人时,服务端也是很敏感的,它要知道你是不是那个拥有权限,拥有密码,拥有证书,合适而又安全的那个你。于是使用认证。HTTP/1.1使用的认证有BASIC认证、DIGEST认证、SSL客户端认证、FormBase认证等。
Basic认证就是在HTTP首部添加Authorization字段,并把用户ID和密码以base64方式编码后发送。但它不太灵活,不能多次进行basic认证。
DIGEST认证使用质询/响应的方式,当客户端发送认证要求,服务端会发送质询码表示响应,然后客户端对其进行计算,最后生成响应码,返回给对方进行认证。DIGEST使用这种方式,保护了密码防止被窃听,但是不能防止用户伪装。
SSL客户端认证,则是通过借用证书,达到认证效果,但多数情况下,SSL客户端不会仅依靠证书完成认证,会结合基于表单的认证组合形成双因素认证来使用。它的缺点就是贵!
基于表单认证,是客户端会向服务器上的Web应用程序发送登录信息,按照登录信息的验证结果认证。(<-此定义读三遍)表单认证时,一般使用cookie来管理Session,在发送时绑定cookie进行发送,从而使session id也随之发送,服务端可通过验证接收到的session id 识别用户和认证状态。
今天的有感到此时已经没有感了,2018年快过去了,2019 希望看更多的书分享给网友。(后面3章是一些对http的追加技术或介绍http的攻击,不属于知识型内容,请大家自行翻阅 增长知识)。
网友评论