测试开发面试准备之HTTP协议-Get, POST的区别?

  • GET参数通过URL传递,POST放在Request body中。
  • GET在浏览器回退时是无害的,而POST会再次提交请求。
  • GET产生的URL地址可以被Bookmark,而POST不可以。
  • GET请求会被浏览器主动cache,而POST不会,除非手动设置。
  • GET请求只能进行url编码,而POST支持多种编码方式。
  • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
  • GET请求在URL中传送的参数是有长度限制的,而POST么有。
  • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
  • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

GET和POST是什么?HTTP协议中的两种发送请求的方法。

HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。

HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

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

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

长的说:

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

原文地址:https://www.cnblogs.com/william126/p/10886500.html

时间: 2024-10-08 16:46:57

测试开发面试准备之HTTP协议-Get, POST的区别?的相关文章

测试开发面试准备之HTTP协议-Http Https 的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号.密码等支付信息. 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间

测试开发面试准备之HTTP协议-TCP与UDP基本区别

TCP与UDP基本区别  1.基于连接与无连接  2.TCP要求系统资源较多,UDP较少:   3.UDP程序结构较简单   4.流模式(TCP)与数据报模式(UDP);   5.TCP保证数据正确性,UDP可能丢包   6.TCP保证数据顺序,UDP不保证 一般面试官都会问TCP和UDP的区别,这个很好回答啊,TCP面向连接,可靠,基于字节流,而UDP不面向连接,不可靠,基于数据报.对于连接而言呢,其实真正的就不存在,TCP面向连接只不过三次握手在客户端和服务端之间初始化好了序列号.只要满足T

测试开发面试准备之HTTP协议-Http常用请求方法

那么HTTP请求报文和响应报文会是什么格式呢? 起始行:如 GET / HTTP/1.0 (请求的方法  请求的URL 请求所使用的协议) 头部信息:User-Agent  Host等成对出现的值 主体 不管是请求报文还是响应报文都会遵循以上的格式. 那么起始行中的请求方法有哪些种呢? GET: 完整请求一个资源 (常用) HEAD: 仅请求响应首部 POST:提交表单  (常用) PUT: (webdav) 上传文件(但是浏览器不支持该方法) DELETE:(webdav) 删除 OPTION

测试开发面试题目汇总一

测试开发面试题目汇总 1. 项目经验 2. 测试的过程 3. 京东登录页面怎么测? 4. 如果一个普通用户,他的百度首页打不开,问题怎么定位?写出定位流程. 5.问简历上的第一个项目的详细情况,包括测试用例怎么写?怎么判断测试通过?项目的原理? 6.如果是做功能测试,能接受吗? 7.说一下你们工作中的测试流程 8.用她的手机给我看了下百度贴吧的发帖功能的界面,给我张纸,让我写出测试点(只需要考虑内容,表情,添加图片,@功能),写完讲一遍逻辑. 9  针对发朋友圈这个功能设计你的测试用例,请给出用

测试开发面试准备之Linux -常用Linux系统命令(二)

1.文件管理 cat -n diff log2014.log log2013.log chmod ugo-r file file命令用于辨识文件类型 file -i install.log find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进行显示. # find /var/log -type f -mtime +7 -ok rm {} \; cut

对测试开发工程师的理解

随着测试在软件开发周期中越来越受到重视,国内测试的缺口一直比较大,各种软件和互联网公司都大肆招收测试工程师,有些走在前面的公司甚至从今年开始取消了测试工程师职位,全部变成了测试开发职位,比如百度.一方面测试开发表明了对工程师有更高的要求,需要在具有测试能力的基础上兼备开发能力:另一方面自动化测试成为趋势,利用开发的技巧解决测试中的问题以提高测试效率,降低QA与RD的人力比. 1.技术含量 面试过许多的应届毕业生,问及为什么选择测试开发这个职位时,经常听到以下的回答: “我觉得自己开发能力比较弱,

测试开发基本面试知识

1.对测试开发的理解 首先,测试是利用测试工具按照测试方案和流程对产品进行功能和性能测试,尽可能多的找出产品的缺陷,比如功能错误.性能低下.易用性差,保证产品的质量: 而且,现在不再是通过手工测试来发现定位Bug,而更多的是通过编写脚本.测试工具来完成自动化测试.回归测试.性能测试等,因此,对于测试人员来说,他除了保证产品质量之外,还要编写脚本以及开发测试工具.这就是我对测试开发的一点理解. 2.为什么做测试而不是去做开发 首先,在近几年,国内对软件测试越来越重视,测试的前景是非常好的. 其次,

测试工程师面试工作感悟

首先致敬祖国母亲,祝福祖国繁荣昌盛.人民富足安康! 十一值班,闲暇之余总结一下最近测试团队面试的一些感想,供各位参考: 简单的做一下自我介绍,6年测试经验,担任过十人以上测试主管,后期进入物联网新零售领域,现在一家国有企业,负责组建一支测试团队.因此在最近一两个月除了测试项目前期的测试框架准备工作,基本上就是各类招兵买马的面试工作. 首先谈一下团队人员招聘工作: 招聘对象1(功能性测试):2-5年工作经验的测试工程师,要求掌握基本测试理论,熟悉软件测试流程及其规范文档的编写,有较强的自学能力:

Java or Python?测试开发工程师如何选择合适的编程语言?

很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对正确的选择确实要比盲目投入更明智也更高效. 目前最常见的情况是纠结选择 Java 还是 Python?关于这个问题,我搜索了之前的相关博客,也特意请教了几位资深的测试技术专家,在这里做一个汇总整理,集"各家"之言供大家参考.也欢迎各位朋友根据自己的经验回帖补充意见. P.S. 有一点需要强