https和常见的http状态码的理解
状态码 | 含义 |
---|---|
1** | 请求已发送 |
200 | 请求成功 |
301 | 被请求的资源已永久移动到新位置 |
302 | 请求的资源现在临时从不同的 URI 响应请求 |
304 | 如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码 |
400 | 1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。 2、请求参数有误。 |
401 | 当前请求需要用户验证 |
403 | 服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交 |
404 | 未找到 |
407 | 与401响应类似,只不过客户端必须在代理服务器上进行身份验证 |
500 | 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。 |
504 | 作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。 注意:某些代理服务器在DNS查询超时时会返回400或者500错误 |
301 302
301 redirect: 301 代表永久性转移(Permanently Moved)。 302 redirect: 302 代表暂时性转移(Temporarily Moved )。
302转向可能会有URL规范化及网址劫持的问题。可能被搜索引擎判为可疑转向,甚至认为是作弊。
网址劫持?
无状态
HTTP协议不具备保存之前发送过的请求或响应的功能 好像你登录某网站,由于http是一个无状态的协议,你点击超链接跳转到该网站中其它的页面时,你的登录状态就不存在了,此时需要cookie机制保存你的登录信息