相信大家在面试的时候经常会被问到:GET与POST有什么区别吧?你是怎么回答的呢?POST比GEt安全?GET有URL的长度限制而POST没有或者很大?GET通过URL或者Cookie传参数,POST将数据放到Body中?等等... 但是这些是它们之间的区别吗?或者说这些说法对吗?想知道吗?那就跟我来吧!Follow Me!

安全问题:

有人觉得GET方式会把数据写到URL中,这样数据就暴露了,就不安全了;而POST则不会有这样的情况,所以就安全了。如果这么想就错了,GET和POST都是采用明文传输的,随便用个HTTP截取工具就能轻松获得传输的信息。所以GET和POST在这个安全层面没什么明显区别。

如果非要说他们两个有安全方面的区别,也不是没有,不过这里说的安全不是指的上面的那种安全。语义上GET是获取指定URL上的资源,是读操作,重要的一点是不论对某个资源GET多少次,它的状态是不会改变的,在这个意义上,我们说GET是安全的(不是被密码学或者数据保护意义上的安全)。因为GET是安全的,所以GET返回的内容可以被浏览器,Cache服务器缓存起来(其中还有很多细节,但不影响这里的讨论)。

而POST的语意是对指定资源“追加/添加”数据,所以是不安全的,每次提交的POST,参与的代码都会认为这个操作会修改操作对象资源的状态,于是,浏览器当你刷新的时候会跳出确认框,缓存服务器不会缓存POST请求返回内容。

长度限制:

HTTP协议规范也没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。

理论上讲,POST也是没有大小限制的。HTTP协议规范也没有进行大小限制。起限制作用的是服务器的处理程序的处理能力。

参数传递:

HTTP并没有要求,POST数据就要放在BODY中。也没有要求如果是GET,数据(参数)就一定要放在URL中而不能放在BODY中。也就是说POST也可以放到URL中,GET也可以放到BODY中。

关于GET和POST的区别,网上很多答案都是不够准确的。在网上查找资料的时候一定要多看一些,对比对比,这样可以帮助你鉴别是对是错。不至于一叶障目被错误的信息所误导。要保持三分的怀疑,所谓尽信书不如无书。希望这篇文章对大家以后面试的时候提供一点点的帮助。欢迎留言交流。

转载于:https://www.cnblogs.com/suncoolcat/p/3285463.html

菜鸟从零学编程——GET与POST相关推荐

  1. 从零学编程2-做个工资计算器

    回顾上一篇:从零学编程1-写一封情书 做个工资计算器 主人公两枚: 鹰:从零学编程 我:从零教编程 我:阿鹰问你个问题,你喜欢做贡献吗? 鹰:不喜欢. 我:囧.OK,那我们换个问法,你喜欢钱吗? 鹰: ...

  2. 从零学编程1-写一封情书

    一哥们闲暇之余想学编程,博主作为"会装系统的人"自然脱不了干系,这哥们名字叫鹰,初中文化,对于电脑的认识属于只会上网听歌看电影,差点忘了他强调过CF玩的不错. 那就教起吧. 主人公 ...

  3. 小白快速变大神,零基础菜鸟应该怎么学编程

    最近,在交流群里经常有苦逼小白问怎样学编程,对编程有兴趣但无从下手,这是个庞大到让大神们"无言以对"的命题.在知乎.CSDN等论坛上,许多同行也对此类问题进行了探讨,小编就其中认可 ...

  4. 高中小白零基础速变大神,零基础菜鸟应该怎么学编程?

    最近有很多人问小晓,该怎么学习编程?对编程虽然兴趣很大,但是不知道该从哪里下手,这是个庞大到所有大神们"无言以对"的命名题,小晓特意和自己的编程同伴们进行了探讨,就其中一些问题今天 ...

  5. 菜鸟接触sora学编程点滴1

    句柄是一个标识符,是拿来标识对象的,它就象我们的姓名一样.它类似于一个指针,但指针的值是内存地址,而句柄是一个数.用指针的话,用户就可以直接操作内核对象,比较危险,而句柄只是个索引(下标),通过API ...

  6. Wolf从零学编程-用Python打造简单加密程序(八)

     分类: Python写加密程序(7)  版权声明:本文为博主原创文章,转载请注明出处和链接. 目录(?)[+] 本篇是最后一篇,加密小程序已经做完了,也可以打包带走. 这篇列出了几个改进,我的目的是 ...

  7. 作为菜鸟的我,努力学编程就对了——初来乍到篇

    一.自我介绍 哈喽,各位读者老爷们大家好,这里是菜鸟三月,做个简单的自我介绍,我是一名开始学编程多久的编程菜鸟三月春分生,当然也是一名在校大一新生,经过深熟虑果然还是去学编程把.初入大学对自己的专业毫 ...

  8. 菜鸟学编程,用x86二手本学习嵌入式编程(硬件编程)

    最近一直忙着上课,一直忙着写论文,一直忙着准备考试,但是脑子没有停止思考. 下学是结合个人的学习经历,给希望学习软件的菜鸟一点点帮助. 1:菜鸟也想学编程 大部分同学从大学开始接触软件编程,但其实有一 ...

  9. 零基础无经验,该怎么学编程,要学多久?

    零基础,能学编程吗? 学编程多久能学会? 到底该怎么学编程? 新手学编程之初,总会面临太多太多诸如此类的问题.一方面源于对陌生领域的不自信,另一方面还是因为在编程上系统学习的方法.基于此,市面上也就出 ...

  10. 零基础是学java还是python-零基础学编程java和python哪个好

    零基础学编程java和python哪个好 更新时间:2019年02月17日18时56分 来源:传智播客java培训 浏览次数: 如今人工智能行业的蓬勃发展让很多想要学习编程的人会犹豫Java和Pyth ...

最新文章

  1. IntelliJ IDEA 2019.3发布,饱受性能诟病的2019.2版本终于成为过去式
  2. 的注册表怎么才能删干净_白蚁怎么才能消灭干净?
  3. 栈和队列应用之数制转换
  4. Centos下Linux下解决root用户Operation not permitted
  5. 来自阿里巴巴佛系安卓程序员的指南,专题解析
  6. Anaconda3安装后,解决cmd中jupyter,pip,python不是内部命令以及jupyter更改默认路径问题
  7. ToDictionary
  8. HTTP缓存(HTTP Cacheing):缓存控制(Cache-Control)
  9. linux启动有两个选择,RHEL5 用CentOS源升级,GRUB出现CentOS,RHEL两个启动项,选择哪一个?...
  10. Bailian4109 公共朋友-Common Friends【关系】
  11. 2018-2019-1 20165302 《信息安全系统设计基础》第三周学习总结
  12. 监控服务器说明文档,监控服务器说明文档
  13. 07 -模型层ORM
  14. Python经典前端框架:Django,第一天【Django环境搭建】
  15. 2023年计算机考研需要考哪些科目?
  16. 2019-07-04:python音频处理库
  17. python——operator详解
  18. 计算机教师的应用计划书,教师信息技术个人提升计划
  19. C#/.NET 通过代码打开浏览器
  20. 大数据共享模糊查找_120多个查找知识共享媒体的地方

热门文章

  1. linux中的ps fx命令,Linux中的ps命令
  2. 第七章 (一)暴力求解法
  3. Linux内存分配器SLOB,深入理解Linux内核之SLOB分配器
  4. js常用处理请求到的数据的方法(即map,filter,find,findIndex,some,every一些常用方法的使用)
  5. JavaScript 求和(字符串转换成数组、for循环求和)
  6. JS Navigator onLine 获取系统是否处于脱机模式
  7. mysql 初始化_MySQL安装与初始化
  8. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_14_注解_自定义注解_格式本质...
  9. js判断是否为手机端访问
  10. TypeScript完全解读(26课时)_9.TypeScript完全解读-TS中的类