Get和Post方法

一、Get请求和Post请求的区别

1.1 Get方法

  • get请求发送数据的时候,数据会挂在URI后面,并且在URI后面添加了一个??后面是数据。这样会导致发送的数据回显在浏览器的地址栏上,get在请求行中发送
  • get请求只能发送普通的字符串,并且发送的字符串长度有限,不同的浏览器,限制不同。这个没有明确的规范
  • get请求无法发送大数据量
  • get请求在W3C中是这样说的:get请求比较适合从服务器端获取数据(适合获取数据)
  • get请求是安全的,是绝对安全的(因为get请求只是为了从服务器获取数据)
  • [x] get请求支持缓存

    • 一个get请求路径,对应一个资源
    • 一个get请求路径,对应一个资源
    • 一个get请求路径,对应一个资源
    • 一个get请求路径,对应一个资源
    • ………………

1.2 Post方法

  • post请求发送数据时,在请求体当中发送,不会回显到浏览器的地址栏上,post在请求体中发送
  • post请求可以发送任何类型的数据,包括字符串,流媒体等信息:视频、声音、图片
  • post请求可以发送大数据量,理论上没有长度限制
  • post请求在W3C中是这样说的:post请求适合向服务器端传送数据(适合传送数据)
  • post请求是危险的,因为post请求时向服务器提交数据,另外post为了提交数据,所以一般情况下拦截请求的时候,大部分会选择拦截(监听)post请求
  • [x] post请求不支持缓存

    • post请求之后,定位器响应的结果不会被浏览器换存起来,因为这个缓存没有意义
  • form表单提交,都是post方式,因为要填写大量的数据,这些数据都是收集用户的信息,一般都是传给服务器
  • 有敏感信息,建议使用post方式,因为get会回显敏感信息到地址栏
  • 做文件上传,一定是post请求

  • 不管是get请求还是post请求,发送请求的格式是完全相同的,只不过是位置不同,格式都是统一的