Get 和 Post的区别

  • Get请求参数会被完整保留在浏览器历史记录中,Post不会,除非手动设置
  • Get请求在URL中有长度限制,Post没有
  • Get请求会被浏览器主动cache,Post不会
  • Get参数通过URL传递,而Post通过request body传递参数。Get比Post更不安全
  • Get在浏览器回退时是无害的,而Post会再次提交请求
  • 对参数的数据类型,Get只接受ASCII码字符,Post不限制
  • Get请求只能进行URL编码,Post支持多种编码形式
  • Get产生的地址可以被bookmark(对文件或互联网网页地址的登记,有助于迅速查找),Post不可以

简单来说:
Get 和 Post本质上都是TCP链接,Get只发送一个TCP数据包,Post发送2个。
具体的说:
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)

那么能不能全部使用Get请求,来优化网站性能呢?
   从上述二者的区别来看,显然不能。且,在网络环境较好的情况下,发1次包和2次包的时间基本可以无视。网络环境较差时,发两次包在验证数据完整性上有非常大的优点。

Get 和 Post 请求相关推荐

  1. restTemplate http请求报错:no suitable HttpMessageConverter found for response type and content type

    报错信息: org.springframework.web.client.UnknownContentTypeException: Could not extract response: no sui ...

  2. Reject: HTTP ‘DELETE‘ is not allowed, Not injecting HSTS.....DELETE请求PUT请求跨域问题

    CORS(DELETE请求.PUT请求) Reject: HTTP 'DELETE' is not allowed [DEBUG] 2021-08-25 15:23:52.401 [http-nio- ...

  3. etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程

    1. etcd 项目结构和功能 etcd 项目代码的目录结构如下: $ tree ├── auth ├── build ├── client ├── clientv3 ├── contrib ├── ...

  4. Go 学习笔记(78)— Go 标准库 net/http 创建服务端(接收 GET、POST 请求)

    使用 net/http 标准库创建一个 http 的 restful api 的服务端,用来处理 GET.POST 等请求. 源代码如下: package mainimport ("enco ...

  5. Go 学习笔记(76)— Go 标准库 net/http 创建客户端(发送 GET、POST 请求)

    1. Get 请求 1.1 使用 net/http 包的快捷方法 GET package mainimport ("fmt""io/ioutil""n ...

  6. 记录一次http请求失败的问题分析

    问题背景 当前我有一个基于Flask编写的Restful服务,由于业务的需求,我需要将该服务打包成docker 镜像进行离线部署,原始服务的端口是在6661端口进行开启,为了区分,在docker中启动 ...

  7. 前端Vue学习之路(四)axios请求数据

    axios 1.增加新知识 2.旧方案 3.新方案(一) 4.为什么要用拦截器 (新方案二) 1.增加新知识 假如每个组件都引用axios,后期如果axios库不再维护了,那每个组件都要改动 所以封装 ...

  8. 【JavaWeb】servlet与http请求协议

    Servlet: 概念: server applet (服务端小程序)运行在服务器端的小程序 Servlet就是一个接口,定义了Java类被浏览器访问到(Tomcat识别)的规则. 将我我们自定义一个 ...

  9. curl模拟post请求

    另外可尝试 postman工具 或者用request 直接请求 CURL 发送POST请求curl -header "Content-Type: application/json" ...

  10. flask_模拟请求post,get

    #coding:utf-8 import requestsres = requests.post(url="http://192.168.135.105:8888/",data={ ...

最新文章

  1. 爸爸又给Spring MVC生了个弟弟叫Spring WebFlux
  2. 后序遍历的非递归算法python_二叉树后序遍历(递归与非递归)算法C语言实现...
  3. HP NIC Teaming技术探讨
  4. python在工厂中的应用_什么是工厂函数?Python 中工厂函数怎么理解?
  5. 普中科技开发板使用说明书_百度大脑加持,米尔科技FZ3深度学习计算卡评测
  6. wifi 小米pro 驱动 黑苹果_搞定小米黑苹果自带WIF,又可省一个USB接口了
  7. mysql sum id 5_mysql怎么使用sum()求id字段的和?
  8. 如何设置Fedora默认从命令行启动?
  9. 如何将一个向量投影到一个平面上_CameraLidar投影:2D3D导航
  10. 使用指针实现char型数组,并将输入的字符倒序输出
  11. 机器学习 | 模型选择
  12. 混合牛奶(洛谷-P1208)
  13. NHibernate和 FluentNHibernate
  14. 七乐彩中奖规则表_双色球第2020118期开奖结果出炉!你中奖了吗?
  15. 例3.3 哈夫曼树 - 九度教程第30题(哈夫曼树)
  16. 二元一次方程用计算机怎么解,二元一次方程的解法
  17. 物联网(lot)特定场景最佳实践
  18. oracle创建数据库实例
  19. 色彩对比广告设计_为什么我们都需要使用色彩对比检查器
  20. 维吉尼亚密码(Vigenere)

热门文章

  1. 20171107--SQL变量,运算符,存储过程
  2. ajax contentType 设置
  3. Html Table 样式
  4. R中报错:Error :$ operator is invalid for atomic vectors
  5. 159. 至多包含两个不同字符的最长子串
  6. cosh()函数以及C ++中的示例
  7. 免费的云服务器,大家推荐哪个呢?
  8. Android | 说说Presentation
  9. Linux服务器下搭建SFTP服务
  10. picker-view-column自定义picker