Ajax和HTTP状态码

385 阅读3分钟

前言

Ajax技术是前端中不可或缺的技术,通过Ajax与服务器取得连接,可以得到服务器返回的数据。如何判断服务器返回状态成功与否?就需要前端小伙伴儿了解Ajax以及http状态码的知识。一起来看看吧~


一、Ajax

1. 什么是Ajax

  • Ajax 是“Asynchronous JavaScript and XML”的缩写
  • 它是指一种创建交互式网页应用的网页开发技术
  • 沟通客户端与服务器,可以在不必刷新整个浏览器的情况下,与服务器进行异步通讯的技术

2. 原理

  • 通过 XmlHTTPRequest 对象来向服务器发异步请求,从服务器获得数据,然后用 javascript 来操作 DOM 而更新页面。这其中最关键的一步就是从服务器获得请求数据。
  • XMLHTTPRequest 是 Ajax 的核心机制,它是在 IE5 中首先引入的,是一种支持异步请求的技术。简单的说,也就是 javascript 可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。

3. 优点

  1. 最大的一点是页面无刷新,用户的体验非常好。
  2. 使用异步方式与服务器通信,具有更加迅速的响应能力。
  3. 可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理, 减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,Ajax 的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
  4. 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

4. 缺点

  1. Ajax 不支持浏览器 back 按钮
  2. 、安全问题 Ajax 暴露了与服务器交互的细节
  3. 对搜索引擎的支持比较弱
  4. 破坏了程序的异常机制
  5. 不容易调试。

二、常见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)

总结

学前端必须知道的知识点哦~