作为一枚正在学习前端的 小萌新,如果下面哪里有写的不对的话,可以帮我指出来吗,谢谢

  1.是基于什么前提的?如果什么前提都没有,不使用任何规范,只考虑语法和理论上的HTTP协议

    那么GET和POST几乎没有什么区别,只有名字不一样而已。

  2.如果是基于RFC规范的。

    (1) 理论上的:GET和POST具有相同语法的,但是有不同的语义。 GET是用来获取数据的,POST是用来发送数据的,其他方面没有什么区别。

    (2) 实现上的:各种浏览器呢,就是实现RFC规范的实现者。

      2.1. GET的数据在URL是可见的。POST请求不显示在URL中。

      2.2. GET传输的数据,理论上是没有限制的,但是真正起到限制的浏览器对URL的长度进行的限制,

        IE:2083个字符  Firefox:65,536个字符  Safari:80,000个字符  Opera:190,000个字符  Google Chrome:8182个字符      

        对于 POST,由于不是 URL 传值,理论上是不会受限制的,但是实际上各个服务器会规定对 POST提交数据大小进行限制,Apache、IIS 都有各自的配置。

      2.3. GET请求的数据可以收藏为书签,POST请求到的数据不可以收藏为书签

      2.4. GET请求后,按后退按钮,刷新页面 无影响,但是POST数据会被重新提交。

      2.5. GET编码类型:application/x-www-form-url,  POST的编码类型:有很多种,例如有:

         1.application/x-www-form-urlencoded

        2.multipart/form-data

        3.application/json

        4.text/xml

      2.6. GET历史参数会被保留在浏览器里,POST不会保持在浏览器中

      2.7. GET只允许ASCII编码,POST没有编码限制

      2.8. GET比POST相对安全,对于小白来说,确实如此,毕竟GET 发生的数据都放在URL里面了。POST是放在数据体(Request)里面, 如果使用的是HTTP协议传输的话,其实他俩都是一样的,因为HTTP协议,传输的数据 都是明文的,所以,去网页输入账号密码的时候,记得看是HTTP,还是HTTPS的。s的比较安全。

  那,上面的呢,就是标准答案了。相信百度上,大多数都是跟这个类似的答案了。

在上面说到,在没有规范的前提下,他俩完全是没有区别的。都是基于HTTP协议,HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,所以他们的底层一样,那么要怎么传数据,当然也可以设置成一样。技术上,是完全ojbk的。

GET和POST还有一个重大区别,简单的说:

GET只会产生一个TCP数据包;POST会产生两个TCP数据包。

通俗来说的话:

  GET请求,浏览器会把 请求头和 数据一起发送过去,服务器收到了,就返回数据。

  POST呢,他是先发送请求头,服务器返回状态码100,然后浏览器再发送数据过去,服务器收到了再返回数据和状态码200。

所以看到这里,有人可能会说,既然 POST发送两次包, GET只发送一次包,理论上是不是GET比较快? 那么我们是不是可以使用GET来代替POST请求?

  不行滴,因为GET 和 POST本来自身就有自己的用处,不能随便混用的。而且,在网络较好的环境下,其实他俩发送一次和两次包的时间,几乎是差不多的。而且对于5G时代来说,更是如此。最后,对

于包的完整,是不是使用POST更能保证他的完整性?

网络系列之GET与POST请求方式的区别的更多相关文章

  1. ajax中Post和Get请求方式的区别?

    ajax中Post和Get请求方式的区别: 1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示. 2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的 ...

  2. Ajax学习系列——jQuery中Ajax的请求方式

    在jQuery中,Ajax常见的请求方式主要有4种. 1.$.ajax()返回其创建的XMLHttpRequest对象. $.ajax({ type:"POST", content ...

  3. 浅谈HTTP中GET和POST请求方式的区别

    浅谈HTTP中GET和POST请求的区别 HTTP认知: HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议.HTTP的底层是TCP/IP.所以GET和POST的底层也是TCP/IP,也 ...

  4. HTTP请求方式及其区别

    一.请求方式 所有的请求都可以给服务器传递内容,也可以从服务器获取内容. GET:从服务器获取数据(给的少拿的多) POST:向服务器推送数据(给的多拿的少) DELETE:删除服务器的一些内容 PU ...

  5. get和post 两种基本请求方式的区别

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...

  6. POSTMAN中各种请求方式的区别

    1.form-data:  就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开.既可以上传键值对,也可以上传文件.当上传的字段是文件 ...

  7. get和post请求方式的区别

    1.用途方面: get是向服务器请求数据,post是向服务器发送数据. 2.大小方面: get发送数据上有大小限制,post理想上无大小限制,实际上有限制. 3.安全方面: get请求的数据会显示在地 ...

  8. get和post请求方式的区别,常见状态码的整理

    get和post的区别 get和post是什么? HTTP协议中的两种发送请求的方法.get从指定的资源请求数据: post向指定的资源提交要被处理的数据. HTTP是什么? 超文本传输协议(HTTP ...

  9. JAVAEE 和项目开发(第三课:HTTP的请求头和请求方式)

    HTTP 协议之请求格式   请求格式的结构:请求行:请求方式.请求的地址和 HTTP 协议版本 请求头:消息报头,一般用来说明客户端要使用的一些附加信息 空行: 位于请求行和请求数据之间,空行是必须 ...

随机推荐

  1. Android Choreographer 源码分析

    Choreographer 的作用主要是配合 Vsync ,给上层 App 的渲染提供一个稳定的 Message 处理的时机,也就是 Vsync 到来的时候 ,系统通过对 Vsync 信号周期的调整, ...

  2. jenkins任务

    #################################jenkins任务1.打包.持续集成.部署.定时运行 2.创建自由风格的一个任务 3.一个任务的核心步骤就是,build即创建,即运行 ...

  3. 简单入门Rabbitmq

    什么是RabbitMQ RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写.支持多种客户端,如:Python.Ruby..NET.Java.JMS.C.PHP.ActionScr ...

  4. 关于红黑树,在HashMap中是怎么应用的?

    关于红黑树,在HashMap中是怎么应用的? 前言 在阅读HashMap源码时,会发现在HashMap中使用了红黑树,所以需要先了解什么是红黑树,以及其原理.从而再进一步阅读HashMap中的链表到红 ...

  5. springcloud feign使用

    1.Spring cloud fein的继承特性 通过对接口的继承,能够实现对fein客户端和feign服务器代码量的减少. 2.Ribbon配置 {服务名}.ribbon.ConnectTimeOu ...

  6. XJOI 夏令营501-511NOIP训练14 砍树(2)

    小A是小B家的园丁.小B的家里有n棵树,第i棵树的横坐标为i.一天,小B交给小A一个任务,让他降低自己家中的某些树木的高度.这个任务对小A来说十分简单,因为他有一把极其锋利的斧头和一门独门砍树秘籍,能 ...

  7. Java注解(入门级)

    Java注解 前言 近日在阅读开源项目,发现项目里好多奇奇怪怪的注解(@DataScope.@Log...)看得我一脸懵,不知道大家是否也有过这样的经历,回想了一下,发现自己对于注解的知识,好像只停留 ...

  8. 没有磁盘空间 No space left on device

    INSTALL 的解释文件 帮助文件 这里的 pytorch=1.0.1 torchvision=0.2.2 cudatoolkit=9.0,这个ATSS可以运行. 这里最好能够查看一下cuda的版本 ...

  9. PHP修改css文件中的背景图片并下载到本地

    扒网站当中一般css中的图片扒不下来,这个脚本就是用来下载这些图片到本地的 流程 1.获取css文件路径 2.打开文件逐行读取判断是否包含需要的图片 2.1 包含则 -进行截取直接获取到相对路径 2. ...

  10. C#实现的几种委托方式介绍

    //普通委托            DeleteShow ds = new DeleteShow(ShowName);            Console.WriteLine("----- ...