前言
Ajax技术是前端中不可或缺的技术,通过Ajax与服务器取得连接,可以得到服务器返回的数据。如何判断服务器返回状态成功与否?就需要前端小伙伴儿了解Ajax以及http状态码的知识。一起来看看吧~
一、Ajax
1. 什么是Ajax
- Ajax 是“Asynchronous JavaScript and XML”的缩写
- 它是指一种创建交互式网页应用的网页开发技术
- 沟通客户端与服务器,可以在
不必刷新整个浏览器的情况下,与服务器进行异步通讯的技术
2. 原理
- 通过
XmlHTTPRequest对象来向服务器发异步请求,从服务器获得数据,然后用 javascript 来操作 DOM 而更新页面。这其中最关键的一步就是从服务器获得请求数据。 XMLHTTPRequest是 Ajax 的核心机制,它是在 IE5 中首先引入的,是一种支持异步请求的技术。简单的说,也就是 javascript 可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。
3. 优点
- 最大的一点是页面无刷新,用户的体验非常好。
- 使用异步方式与服务器通信,具有更加迅速的响应能力。
- 可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理, 减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,Ajax 的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
- 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
4. 缺点
- Ajax 不支持浏览器 back 按钮
- 、安全问题 Ajax 暴露了与服务器交互的细节
- 对搜索引擎的支持比较弱
- 破坏了程序的异常机制
- 不容易调试。
二、常见http状态码
1. 五种常见的状态码
- 200( OK):请求已成功,请求所希望的响应头或数据体将随此响应返回。
- 303( See Other):告知客户端使用另一个 URL 来获取资源。
- 400( Bad Request):请求格式错误。1)语义有误,当前请求无法被服务器理解。除非进行 修改,否则客户端不应该重复提交这个请求;2)请求参数有误。
- 404( Not Found):请求失败,请求所希望得到的资源未被在服务器上发现。
- 500( Internal Server Error):服务器遇到了一个未曾预料的状况,导致了它无法完成对请 求的处理。
2. 其他状态码补充
- 100 => 正在初始化(一般是看不到的)
- 101 => 正在切换协议(websocket 浏览器提供的)
- 202 => 表示接受
- 301 => 永久重定向/永久转移
- 302 => 临时重定向/临时转移(一般用来做服务器负载均衡)
- 304 => 本次获取的内容是读取缓存中的数据,会每次去服务器校验
- 401 => 未认证,没有登录网站
- 403 => 禁止访问,没有权限
- 503 => 服务器超负荷(假设一台服务器只能承受 10000 人,当第 10001 人访问的时候,如果服务器没有做负载均衡,那么这个人的网络状态码就是 503)
总结
学前端必须知道的知识点哦~