目录

  • `HTTP` 协议
  • `Get` 和 `Post` 的区别
    • 请求数据的位置
    • 请求数据的大小
    • 请求数据安全性
    • 二者的本质联系与区别

HTTP 协议

HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于 1990 年提出,经过几年的使用与发展,得到不断地完善和扩展

  • HTTP 请求数据

  • HTTP 响应数据

  • HTTP 自身并不负责网络数据传输的,而是利用 TCP/IP 协议来进行的

GetPost 的区别

请求数据的位置

Get 请求的数据会附在 URL 之后,以 ? 分割 URL 和传输数据,参数之间以 & 相连;而 POST 请求把提交的数据则放置在是 HTTP 请求包的包体中

对于这样的说法,只是 HTML 标准对 HTTP 协议的用法的约定,在 HTTP  协议规范中,
并无要求。只是由于各种浏览器等软件的实现,就变成了我们现在熟知的现象,
GET 要用 URL 传参,POST 用 body 传参

请求数据的大小

Get 请求的长度受限于 URL 的长度,而 URL 的长度限制是特定的浏览器和服务器设置的,理论上 Get 的长度可以无限长;而 POST 请求是没有大小限制的,HTTP 协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力

在 HTTP 协议中明确地指出了,HTTP 请求头和请求体都没有长度的要求。而对于 URL 长度上
的限制,有两方面的原因造成:1:浏览器端来说:据说 IE 对 URL 长度会限制在 2048 个字符内。firefox 是支持 10W 以上的长度2:服务器端:服务器处理超长的 URL 本身就是一种负担,更何况遭受恶意攻击呢?
因此,多数服务器出于安全、稳定等多方面的考虑,会给 URL 长度加限制。但是这个限制是针对
所有 HTTP 请求的,与 GET、POST 没有关系

请求数据安全性

POST 请求的安全性要比 GET 请求的安全性高

二者的本质联系与区别

GetPost,他们的本质上就是 TCP 链接,只是由于 HTTP 的规定和浏览器或服务器的限制,导致他们在应用过程中体现出一些不同

Get 产生一个 TCP 数据包;Post 产生两个 TCP 数据包对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应200
(返回数据)对于 POST 方式的请求,浏览器先发送 http header,服务器响应100(continue),然后
再发送 data,服务器响应 200(返回数据);

谈谈Http中Get和Post的区别相关推荐

  1. android 代码中使用dp,简单谈谈Android中SP与DP的区别

    从一开始写Android程序,就被告知这些常识 一.dp(或者dip device independent pixels) 一种基于屏幕密度的抽象单位.在每英寸160点的显示器上,1dp=1px.不同 ...

  2. android中sp的意义_简单谈谈Android中SP与DP的区别

    从一开始写android程序,就被告知这些常识 一.dp(或者dip device independent pixels) 一种基于屏幕密度的抽象单位.在每英寸160点的显示器上,1dp=1px.不同 ...

  3. 摩客怎么设置安卓的dp_简单谈谈Android中SP与DP的区别

    从一开始写Android程序,就被告知这些常识 一.dp(或者dip device independent pixels) 一种基于屏幕密度的抽象单位.在每英寸160点的显示器上,1dp=1px.不同 ...

  4. 史上最详细的mysql底层和explan type和type中index和all的区别

    背景: 前几天我朋友问我一个问题,mysql的explan(执行计划)中type的index和all是不是压根没有区别,而且还推了几个博主的链接给我,我看了之后感觉有些无奈,有些博主自己都没有太搞清楚 ...

  5. 谈谈 VUE 中 methods、watch 和 compute 三者之间区别和联系

    本篇文章主要介绍了谈谈 VUE 中 methods.watch 和 compute 的区别和联系,具有一定的参考价值,有兴趣的可以了解一下           < 他三个是啥子关系呢?> ...

  6. python yield用法_Python中迭代器和生成器的区别?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  7. 【Python面试】 说说Python中xrange和range的区别?

    往期面试题: 谈谈对 Python 和其他语言的区别? 说说4种常用编码的区别? 说说Python面向对象三大特性? 说说Python中有几种数据类型? 废话不多说,开始今天的题目: 问:说说Pyth ...

  8. Spark精华问答 | 谈谈spark中的宽窄依赖

    总的来说,Spark采用更先进的架构,使得灵活性.易用性.性能等方面都比Hadoop更有优势,有取代Hadoop的趋势,但其稳定性有待进一步提高.我总结,具体表现在如下几个方面. 1 Q:Spark ...

  9. python range 步长为负数_【Python面试】 说说Python中xrange和range的区别?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  10. C#中List与IList的区别

    C#中List与IList的区别 2009-11-15 14:19 List<T>类:表示可通过索引访问的对象的强类型列表,提供用于对列表进行搜索.排序和操作的方法. IList<T ...

最新文章

  1. C++中的变量作用域介绍
  2. java数据结构教程_Java数据结构
  3. 从零开始学习python-如何从零开始学python?
  4. 功能奇数次执行和偶数次执行时的结果不同的故障复盘
  5. 操作MySQL数据库
  6. Android Studio中有没有类似于Eclipse中的ctrl+2+L的快捷键? \Android Studio快捷键之代码提示...
  7. 在ASP.NET AJAX中使用应用程序服务和本地化(4):示例程序:读取、修改并保存用户个性化信息...
  8. 图像识别:利用KNN实现手写数字识别(mnist数据集)
  9. 双十一图书大数据:金庸第1,Python第2,学霸们都买了这些书
  10. mysql1000w数据怎么加索引_给mysql一百万条数据的表添加索引
  11. linux 屏蔽信号 sig_kill sig_stop,linux 信号处理
  12. java jpa 字段 关联_jpa查询关联表懒加载数据initialize proxy no session
  13. 打java包需要对应服务器么_java打war包、部署服务器
  14. 从ST官网获取STM32 AD封装库(包含原理图库和PCB库)详细教程
  15. 三菱modbusRTU通讯实例_PLC编程 | 用三菱PLC控制机械手实例
  16. 百度语音识别API报错KeyError: ‘result‘
  17. Google Chrome 启动 0x0000005 崩溃问题的解决方法
  18. 车载GPS设备对接java记录
  19. 毕业设计---基于人脸识别的Web端考勤系统
  20. 爬虫:利用python+requests爬取全国肯德基餐厅门店信息,并写入CSV文件中

热门文章

  1. SwiftUI实战一:从入门到精通
  2. java8中class怎么用_如何在Java中使用Class T?
  3. 2021-09-02最大矩形
  4. C++例4.11 求两个或三个正整数中的最大数,用带有默认参数的函数实现。
  5. Android Studio搭建Tensorflow Lite项目和加载tflite模型文件
  6. 多小区下小区上行速率的计算的想法
  7. 【机器学习】Cross-Validation(交叉验证)详解
  8. 标准库:urllib/urllib2
  9. Ten graph questions of about 2000 difficulty of Codeforces Round 2
  10. mac储存文件应该放在哪里_单位不能存档,个人档案应该放在哪里呢,影响今后退休金吗?...