WEB安全7.9作业 1.https的通信过程 客户端发起HTTPS请求 用户在浏览器里输入一个https网址,然后连接到服务器的443端口 服务端的配置 采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。是一对公钥和私钥。非对称加密来传对称加密的密钥。对称加密再进行传输。对称加密传输密钥易受攻击非对称加密效率比较低。私钥加密公钥解密称为签名;公钥加密私钥解密称为加密。 传送服务器的证书给客户端 证书里其实就是公钥,并且还包含了很多信息,如证书的颁发机构,过期时间等等 客户端解析验证服务器证书 这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如:颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书中公钥对该随机值进行非对称加密 客户端将加密信息传送服务器 这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了 服务端解密信息 服务端将客户端发送过来的加密信息用服务器私钥解密后,得到了客户端传过来的随机值 服务器加密信息并发送信息 服务器将数据利用随机值进行对称加密,再发送给客户端 客户端接收并解密信息 客户端用之前生成的随机值解密服务段传过来的数据,于是获取了解密后的内容
2.状态码 200状态码:表?请求已成功,请求所希望的响应头或数据体将随此响应返回 301为永久重定向,302为临时重定向 重定向就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B) 304 如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码。简单的表达就是:服务端已经执行了GET,但文件未变化 307 临时重定向,客户端发送post请求返回307时,浏览器询问用户是否再次post状态码可以确保请求方法和消息主体不会发生变化 308 Permanent Redirect(永久重定向)是表?重定向的响应状态码,说明请求的资源已经被永久的移动到了由 Location ?部指定的 URL 上。 400是一种是HTTP状态码,400 Bad Request。是在打开网页时服务器返回到客户端的一种状态码。显示在客户端的也就是400页面。 401未授权:一般来说该错误消息表明你首先需要登录(输入有效的用户名和密码)。如果你不输入这些信息,就会有401错误,这意味着验证信息出错,服务器无法识别你的身份。 403是因为服务器拒绝了你的地址请求,或者你根本没权限访问网站,提供身份验证也没用,也就是说,用户被禁止访问了。然而除非与Web服务器管理员联系,否则一旦遇到403状态码都无法自行解决 408请求超时:遇到408意味着你的请求发送到该网站花的时间比该网站的服务器准备等待的时间要长,即链接超时 404状态码(404 Not Found),指所请求的页面不存在、已被删除或无法访问 500(服务器内部错误)服务器遇到错误,无法完成请求。 501(尚未实施)服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。 502(错误网关)服务器作为网关或代理,从上游服务器收到无效响应。 503(服务不可用)服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。 504(网关超时)服务器作为网关或代理,但是没有及时从上游服务器收到请求。 505(HTTP 版本不受支持)服务器不支持请求中所用的 HTTP 协议版本。 3.输入网址后看到百度页面过程 1 .检查本地DNS的缓存,看其中是否有解析的数据 2.查看本地hosts文件 3.本机固定的DNS服务器,路由器找13名根域服务器。 DNS有两种查询方式,迭代本地服务器,向DNS服务请求。递归重复调用主机向本地DNS服务请求 4,根域找到com顶级域,com找到百度域名给你返回结果,返回到主机 5.和百度服务器建立TCP可靠连接三次握手 6.Keep alive 7.request 8.response 9.最终通过浏览器解析页面
|