乐趣区

关于http:HTTP状态码

技术文档

HTTP 状态码有哪些?别离代表什么?

简略版:

  • 100continue:持续,个别在发送 post 申请时,已发送 http header 之后服务器端将返回此信息示意确认,之后发送具体参数信息。
  • 200OK:失常返回信息
  • 201created:申请胜利并且服务器创立了新的资源
  • 202Accepted:服务器已承受申请,但尚未解决
  • 301Moved Permanently:申请的网页曾经永恒挪动到新的地位
  • 302Found:临时性重定向
  • 303See Other:临时性重定向,且总是应用 GET 申请新的URI
  • 304Not Modified:自从上次申请后,申请的网页未修改过
  • 400Bad Request:服务器无奈了解申请的格局,客户端不该当尝试再次应用雷同的内容发动申请
  • 401Unauthorized:申请未受权
  • 403Forbidden:禁止拜访
  • 404Not Found:找不到如何与 URI 相匹配的资源
  • 500Internal Server Error:最常见的服务器端谬误
  • 503Server Unavailable:服务器端临时无奈解决申请(可能是过载或保护)

完整版:

  • 1**(信息类):示意接管到申请并且持续解决
  • 100——客户必须持续发出请求
  • 101——客户要求服务器依据申请转换 HTML 协定版本
  • 2**(响应胜利):示意动作被胜利接管、了解和承受
  • 200——表明该申请被胜利地实现,所申请的资源发送回客户端
  • 201——提醒晓得新文件的URL
  • 202——承受和解决、但解决未实现
  • 203——返回信息不确定或不残缺
  • 204——申请收到,但返回信息为空
  • 205——服务器实现了申请,用户代理必须复位以后曾经浏览过的文件
  • 206——服务器曾经实现了局部用户的 GET 申请
  • 3**(重定向类):为了实现指定的动作,必须承受进一步解决
  • 300——申请的资源可在多处失去
  • 301——本网页被永久性转移到另一个URL
  • 302——申请的网页被转移到一个新的地址,但客户拜访仍持续通过原始 URL 地址,重定向,新的 URL 会在 response 中的 Location 中返回,浏览器将会应用新的 URL 收回新的request
  • 303——倡议客户拜访其余 URL 或拜访形式
  • 304——自从上次申请后,申请的网页未修改过,服务器返回此响应时,不会返回网页内容,代表上次的文档曾经被缓存,还能够持续应用。
  • 305——申请的资源必须从服务器指定的地址失去
  • 306——前一版本 HTTP 中应用的代码,现行版本中不再应用
  • 307——申明申请的资源临时性删除
  • 4**(客户端谬误类):申请蕴含谬误语法或不能正确执行
  • 400——客户端申请有语法错误,不能被服务器所了解
  • 401——申请未经受权,这个状态码必须和 WWW-Authenticate 报头域一起应用
  • HTTP 401.1——未受权:登录失败
  • HTTP 401.2——未受权:服务器配置问题导致登录失败
  • HTTP 401.3——ACL 禁止拜访资源
  • HTTP 401.4——未受权:受权被筛选器回绝
  • HTTP 401.5——未受权:ISAPI 或 CGI 受权失败
  • 402——保留无效 ChargeTo 头响应
  • 403——禁止拜访,服务器收到申请,然而回绝提供服务
  • HTTP 403.1——禁止拜访:禁止可执行拜访
  • HTTP 403.2——禁止拜访:禁止读拜访
  • HTTP 403.3——禁止拜访:禁止写访问
  • HTTP 403.4——禁止拜访:要求 SSL
  • HTTP 403.5——禁止拜访:要求 SSL 128
  • HTTP 403.6——禁止拜访:IP 地址被回绝
  • HTTP 403.7——禁止拜访:要求客户证书
  • HTTP 403.8——禁止拜访:禁止站点拜访
  • HTTP 403.9——禁止拜访:连贯的用户过多
  • HTTP 403.10——禁止拜访:配置有效
  • HTTP 403.11——禁止拜访:明码更改
  • HTTP 403.12——禁止拜访:映射器回绝拜访
  • HTTP 403.13——禁止拜访:客户证书已被撤消
  • HTTP 403.15——禁止拜访:客户拜访许可过多
  • HTTP 403.16——禁止拜访:客户证书不可信或者有效
  • HTTP 403.17——禁止拜访:客户证书曾经到期或者尚未失效
  • 404——一个 404 谬误表明可连贯服务器,但服务器无奈获得所申请的网页,申请资源不存在。
  • 405——用户在 Request-Line 字段定义的办法不予许
  • 406——依据用户发送的 Accept 头,申请资源不可拜访
  • 407——相似401,用户必须首先在代理服务器上失去受权
  • 408——客户端没有在用户指定的工夫内实现申请
  • 409——对以后资源状态,申请不能实现
  • 410——服务器上不再有此资源,且无进一步的参考地址
  • 411——服务器回绝用户定义的 Content-Length 属性申请
  • 412——一个或多个申请头字段在以后申请中谬误
  • 413——申请的资源大于服务器容许的大小
  • 414——申请的资源 URL 长于服务器容许的长度
  • 415——申请的资源不反对申请我的项目格局
  • 416——申请中蕴含 Range 申请头字段,在以后申请资源范畴内没有 Range 批示值,申请也不蕴含 If-Rane 申请头字段
  • 417——服务器不满足申请 Expect 头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足申请。
  • 5**(服务端谬误类):服务器不能正确执行一个正确的申请
  • HTTP 500——服务器遇到谬误,无奈实现申请
  • HTTP 500.100——外部服务器谬误——ASP 谬误
  • HTTP 500.11——服务器敞开
  • HTTP 500.12——应用程序重新启动
  • HTTP 500.13——服务器太忙
  • HTTP 500.14——应用程序有效
  • HTTP 500.15——不容许申请global.asa
  • Error 501——未实现
  • HTTP 502——网关谬误
  • HTTP 503——因为超载或停机保护,服务器目前无奈应用,一段时间后可能恢复正常

一个页面从输出 URL 到页面加载显示实现,这个过程产生了什么?(流程越具体越好)

  • 从 URL 标准、HTTP 协定、DNS、CDN、数据库查问到浏览器解析、CSS 规定构建、layoutpaintonload/domready、JS 执行、JS API 绑定等
  • 1、浏览器会开启一个线程来解决这个申请,对 URL 分析判断如果是 HTTP 协定就依照 Web 形式来解决;
  • 2、调用浏览器内核中的对应办法,比方 webview 中的loadUrl 办法;
  • 3、通过 DNS 解析获取网址的 IP 地址,设置 UA 等信息收回第二个 GET 申请;
  • 4、忘性 HTTP 协定会话,客户端发送报头(申请报头);
  • 5、进入到 web 服务器上的 Web Server,如 Accept、Tomcat、Node.js 等服务器;
  • 6、进入部署好的后端利用,如 PHP、Java、JavaScript、python 等,找到对应的申请解决;
  • 7、解决完结反馈报头,此处如果浏览器拜访过,缓存上有对应资源,会与服务器最初批改工夫比照,统一则返回304
  • 8、浏览器开始下载 HTML 文档(响应报头,状态码200),同时是应用缓存;
  • 9、文档树建设,依据标记申请所须要指定 MIME 类型的文件(比方 css、js),同时设置了cookie
  • 10、页面开始渲染 DOM,JS 依据 DOM API 操作 DOM,执行事件绑定等,页面显示实现。
  • 浏览器把申请的 URL 交给 DNS 域名解析,找到实在 IP,向服务器发动申请;
  • 服务器交给后盾解决实现后返回数据,浏览器接管文件;
  • 浏览器对加载到的资源进行语法解析,建设相应的外部数据结构;
  • 载入解析好的资源文件,渲染页面显示内容。

从输出 URL(或跳转页面)到获取 HTML 的具体过程

加载一个资源的过程

  • 浏览器依据 DNS 服务器失去域名的 IP 地址
  • 向这个 IP 的机器发送 HTTP 申请
  • 服务器收到、解决并返回 HTTP 申请
  • 浏览器失去返回内容

安全性

  • XSS 跨站申请攻打
  • XSRF 跨站申请伪造
  • 在博客写文章,同时偷偷插入一段<script-
  • 攻打代码中,获取cookie,发送到本人的服务器
  • 公布博客,有人查看博客
  • 会把查看者的 cookie 发送到攻击者的服务器
退出移动版