http中get和post相同和区别

说明

http协议有多种请求方法,相当于 多种联系方式:发微信、打电话、发短信

相同

Get和Post都可以向 服务器端 发请求,两者都可以实现与服务器的通信

区别

应用场景

get:意味获取,是向 服务器 获取资源、获取数据,所以类似操作应该用 GET 请求

  • form表单指定 get 方式提交

  • 超链接

  • 引用js、引用css

  • <img src=""> 标签

post:意味传输,是向 服务器 传输数据、提交数据,所以类似操作应该用 POST 请求

传递数据的位置

  • GET将数据放在URL中
    意味着GET不安全,如果登录时,将用户名、密码显示在地址栏中,直接暴露

  • POST将数据放在body中。
    POST也不安全,因为HTTP是明文传输抓包就能获取数据内容,要想安全还得加密

数据大小

  • GET提交的数据大小有限制
    因为浏览器地址栏有长度限制,GET本身没有限制

  • POST没有

数据编码

  • GET对数据进行url编码
  • POST支持多种编码

浏览器后退、刷新

  • GET回退、刷新无影响

  • POST后退会再次提交请求,刷新会提示

缓存

  • GET能被缓存
    会被浏览器中会缓存,再次请求时,浏览器不会发送请求,而是使用上次请求获取到的结果。如:频繁访问同一静态资源(js、图片)时,只第一次发请求,后面不在发请求,直接使用第一次请求的结果

  • POST不能


原文出处:/show_1EF3uv1IWEWD.html