技术文档

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

简略版:

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