• Get和Post的区别


    之前写过无数次get和post请求,但实际上不是很明了他们之前的区别,只是大概知道类型的区别,携带参数不同,以及携带参数大小的不同,今儿突然发现好像不是那么简单,研究一下。

    get和post最明显的区别就是,get把参数写在url种,而post则是把参数写在request body种,并且他们的大小也有区别。

    下面看一下官宣:

    在这个说几个概念:http协议是指客户机(通常是浏览器)和服务器之前应答所需要遵循的原则,规范。tcp/ip则是网路种的传输协议。

    在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

    • GET - 从指定的资源请求数据。
    • POST - 向指定的资源提交要被处理的数据

     从以上概念大概能得出一个结论,即get侧重于要数据,而post则侧重于交数据。

    下面是官方get和post的区别:

    1.GET 请求可被缓存      <=>  POST  请求不会被缓存

    2.GET 请求保留在浏览器历史记录中  <=>  POST请求不会保留在浏览器历史记录中

    3.GET 请求可被收藏为书签  <=> POST 不能收藏为书签

    4.GET 请求长度有限制  <=> POST 请求没有限制

    5.GET请求不能处理敏感数据

    上面的大可不必死记,只需记住它们各自的侧重点特点就行。get侧重获取,且参数可见,那他必然可以缓存,记录,书签,不能存贮敏感。post因有敏感数据则不能记录,缓存,收藏。

    之前都是一些表层的东西,咱们看下底层原理方面的东西(有参考其他博文)

    get和post其实没有底层实现没有太大区别,what?

    HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。 (这句话是借用)

    意思是:get和post的底层实现都是一样的,至于他们的区别只是各个浏览器和服务器后台约定的设置不同而已。

     那么get和post请求的区别来历就很明确了,是浏览器和服务器的处理方式不同而已,发展到后台,大家一看不行啊,你用你的,我用我的,你的我用不了,我的你用不了,这不利于世界和平啊,没走可持续发展道路,所以大家商量一下,就约定的get和post的一些用法区别。

    post为了在网路中保密特性,会发两次传输请求。这大概像地下工作者接头,现派一个不重要的小跟班接触一下,发现,哎,是他是他就是他,然后再把机密文件给他。

    这样在网络不好的情况下,尽量使用get请求,因为它干净、利落、脆,额,扯远了,因为它只需要一次就好,节省时间,可以优化请求速度。

  • 相关阅读:
    数据结构与算法(C++)之swap交换
    常用shell脚本
    Java知识库
    jenkins:你们是怎么在控制台实时打印服务启动日志的?
    mqtt压力测试工具emqtt
    postman中获取环境变量和全局变量
    不想当将军的士兵不是好士兵吗?
    永久关闭火狐浏览器自动更新的方法
    性能测试案例:线程池拒绝策略使用不当导致并发一上去就会出现大量报错
    性能测试案例:一个频繁fgc问题
  • 原文地址:https://www.cnblogs.com/rushintocloud/p/9954468.html
Copyright © 2020-2023  润新知