Skip to content

ajax中的http请求方式 #66

@Yangxiaqing

Description

@Yangxiaqing

HTTP METHOD:

客户端向服务器端发送请求的方式。
以下的请求方式,不管哪一种都可以向服务器传递数据,也可以从服务器获取到数据,而且从本质意义上讲以下的方式是没有任何的区别的,例如:用POST做的事情,用GET也能做。而以下讲的区别都会目前开发者们约定俗称的规范:

  • GET——一般应用于从服务器获取数据(给服务器的数据少,从服务器拿的数据多,项目中最常用的请求方式)
    使用GET请求给服务器传递内容我们一般都使用URL问号传参的方式
    xhr.open("get", "/getList?num=12");
  • POST——一般应用于向服务器推送数据(给服务器的多,从服务器拿下来的少)
    使用POST请求给服务器传递的内容我们一般都使用请求主体的方式传递给服务器
    xhr.open("post", "/getList");
  • PUT——一般应用于给服务器上增加资源文件(我们上传图片功能)
  • DELETE——一般应用于从服务器上删除资源文件
  • HEAD——一般应用于只获取服务器的响应头信息
  • 。。。

GET请求与POST请求的区别:

  • 大小问题:
    GET请求传递给服务器的内容存在大小的限制,而POST理论上没有限制
    原因:CET通过URL传参给服务器,而每个浏览器对于URL的长度存在限制。例如:谷歌8kb、火狐7kb、IE2kb的长度限制,如果URL的长度超过限制,浏览器会把超出的部分截取。
  • 缓存问题:
    GET请求会出现缓存(这个缓存不一定是304),POST是没有缓存的
    在项目中我们的GET请求一般不会让其出现缓存清除缓存:在URL的末尾追加一个随机数
    xhr.open("get", "/getList?num=12&_=" + Math.random());
  • 安全问题:
    一般来说GET不安全,而POST相对安全一些。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions