Ajax基本知识

1. readyState 属性

readyState属性值的含义:

0:初始值,表示请求未初始化,open方法尚未调用;
1:启动请求,open 方法已经调用,但尚未调用 send 方法;
2:请求发送,已经调用 send 方法,但尚未接收到响应;
3:接收响应,已经接受到部分响应数据,主要是响应头;
4:HTTP 响应完成,已经接收到全部响应数据,而且可以在客户端使用。

2. status 属性

HTTP 状态码是用来表示网页服务器响应状态的 3 位数字代码,所有状态码的第一个数字代表了响应的五种状态之一:

1xx:临时响应
2xx:成功
3xx:重定向
4xx:请求错误
5xx:服务器错误

:哪些 HTTP 状态码表示我们可以获取到 HTTP 响应数据呢?
:2开头的状态码 与 304。2开头的状态码都表示请求成功,而 304 是对客户端可读取缓存的一种响应,同样能获取到 HTTP 的响应数据。

3. GET请求 与 POST请求 对比

GET 请求:

  • 一般用于信息获取:通过发送一个请求来取得服务器上的资源;
  • 数据包含在 URL 地址中;
  • 数据量受 URL 的长度限制;
  • 不安全:浏览器的 URL 可以直接看到,明文传输;
  • GET 请求会被缓存;
  • GET 没有请求主体,请求速度相对较快;

POST 请求:

  • 一般用于修改服务器上的资源:向指定资源提交数据,后端处理请求后往往会导致服务器建立新的资源或修改已有资源;
  • 数据包含在请求主体中;
  • 没有数据量限制,可在服务器的配置里进行限制;
  • 比 GET 安全,实际上也是不安全的:可通过开发者工具或者抓包看到,明文传输;
  • POST 请求不会缓存;
  • POST 相对稳定、可靠:可发送包含未知字符的内容;
    容易产生的误区: HTTP 协议里并没有限制 GET 和 POST 的长度,GET 的最大长度限制是因为浏览器和 Web 服务器对 URL 的长度限制,不同的浏览器和 Web 服务器限制的最大长度不一样,它们所限制的是整个 URL 的长度,而不仅仅是查询参数的数据长度。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容