技术文档
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
——禁止拜访:要求 SSL128
- 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 规定构建、
layout
、paint
、onload/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
发送到攻击者的服务器