https 只是加密了传输过程中的信息,并不代表不可以被侦听
浏览器第一次访问的时候,服务器颁发加密的公钥证书,浏览器向服务器传送数据的时候用服务器提供的公钥进行加密,服务器用私钥进行解密
https 只是加密了传输过程中的信息,并不代表不可以被侦听
浏览器第一次访问的时候,服务器颁发加密的公钥证书,浏览器向服务器传送数据的时候用服务器提供的公钥进行加密,服务器用私钥进行解密
Cycle
请求/响应
重要的header
服务器发出的
Set-Cookie:服务器发给客户端的Session-ID(有容易被窃取的风险)
Content-Length:响应body部分的字节长度
Location:重定向用户到另一个页面,可识别身份认证后允许访问的页面
客户端发出的
Cookie:客户端发回给服务器证明用户状态的信息(头:值成对出现)
每个cookie都有自己的名称
Referrer:发起新请求之前用户位于哪个页面,服务器基于此头的安全限制很容易被修改绕过
状态码:
服务端响应的状态码表示响应的结果类型(5大类50多个具体响应码)
100s:服务器相应的信息,通常表示服务器还有后续处理,很少出现
200s:请求被服务器成功接受并处理后返回的结果
300s:重定向,通常在身份认证成功后重定向到一个安全的页面(301/302)
301永久性重定向
302临时性重定向,经过某些验证符合后再跳转
返回的响应包,客户端接到300的状态码后就会找header里的location,看重定向到哪
400s:表示客户端请求错误
401:需要身份验证
403:拒绝访问
404:目标未发现
500s:服务器内部错误(503:服务不可用)
401多用于公司内部网络,很多公司让员工用代理上网,员工在上网前要输入账号密码,员工若没输入或输入错误,服务器会返回一个401
有些论坛社区引用别的网站的图片,属于盗链,而有时有些网站提示图片仅供内部使用,是源网站通过Referer做出判断,防止别的网站对自己站图片的盗用
405方法不允许
http协议
无内建的机密性安全机制
嗅探或代理截断可查看全部明文信息
https只能提高传输层的安全,即只在传输过程对信息进行加密,而黑客仍然可以在有漏洞的客户端与服务器对已经解密的信息进行截取,嗅探
黑客还可以用中间人劫持方式对流量进行截取,伪造证书
web服务器端使用cookie对客户端进行跟踪
客户端通过提交账号密码给服务器进行身份认证,确认后服务端将cookie发给客户端,后续客户端给服务器端发起访问请求时的http头信息都会带有cookies信息,服务器端之所以能够跟踪客户端是因为有cookies
服务器通过不同的cookie对不同的客户端请求作出响应
不使用cookie的应用,客户端每次请求都要重新身份验证,不现实
Session不等于cookie,真正的session是放在服务端的,客户端得到的只是session的ID
session提高用户体验,因为不需要每一次连接都要验证,但增加了攻击向量
所以在设计程序时session时要把session时效设定为一定的时间,而不能永久
http:明文传输
https:加密传输,只能提高传输层安全