面经回答GET / POST区别

① GET(获取&检索)从服务器上获取数据。

① POST(创建&更新)向服务器传送数据。

误区:不是获取数据只能用GET,只是通常用GET获取数据,这可以认为是一种约定,并非规定,实际上只要你的后端支持,用POST也可以获取数据


② GET方式不安全,参数包含在URL中,在地址栏可见请求信息。

GET : http://localhost:8080/suke/login?uname=admin&pwd=root&address=USA

② POST方式相对安全,请求信息放置在请求体(request body)中,在地址栏不可见。

POST : http://localhost:8080/suke/login

注意:如果GRT和POST没有加密,它们安全级别都是一样的,随便一个监听器都可以把所有的数据监听到。


③ GET方式发送内容的长度受限于地址栏有限长度,也就意味着数据量不能大于2KB。

③ POST方式一般被默认内容长度不受限制。


④ GET请求适用于不改变服务端数据请求的原则,所以可以被缓存。

④ POST请求会更改服务器端数据请求,所以不可以被缓存。

一、POST和GET的区别?

1. GET是从服务器上获取数据,post是向服务器传送数据。

2. GET请求把参数包含在URL中,将请求信息放在URL后面,POST请求通过request body传递参数,将请求信息放置在报文体中。

3. GET传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

4. GET安全性非常低,get设计成传输数据,一般都在地址栏里面可以看到,post安全性较高,post传递数据比较隐私,所以在地址栏看不到, 如果没有加密,它们安全级别都是一样的,随便一个监听器都可以把所有的数据监听到。

5. GET请求能够被缓存,GET请求会保存在浏览器的浏览记录中,以GET请求的URL能够保存为浏览器书签,post请求不具有这些功能。

6. HTTP的底层是TCP/IP,GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。

7.GET产生一个TCP数据包,对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);POST产生两个TCP数据包,对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据),并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

二、POST和GET是什么?

POST和GET是HTTP请求的两种方式,都可实现将数据从浏览器向服务器发送带参数的请求。

HTTP请求底层协议都是TCP/IP,所以两者没有本质的区别。

GET方法

  GET是获取的意思,顾名思义就是获取信息。

  GET是默认的HTTP请求方法。

  GET方法把参数通过key/value形式存放在URL里面,如果参数是英文数字原样显示,如果是中文或者其他字符加密(Base64)URL长度一般有限制所以GET方法的参数长度不能太长。由于参数显示再地址栏所以不安全,一般需要保密的请求不使用GET。

POST方法

  POST是邮件的意思,顾名思义就像一封信一样将参数放在信封里面传输。它用于修改服务器上的数据,一般这些数据是应该保密的,就像信件一样,信的内容只能收信的人看见。例入当用户输入账号和密码登录时账号和密码作为参数通过HTTP请求传输到服务器,这时候肯定不能用GET方法将账号密码直接显示再URL上,这时候就应该用POST方法保证数据的保密性。

GET和POST请求的区别?相关推荐

  1. Http中的Post和GET请求的区别

    原理区别: 一般我们在浏览器输入一个网址访问网站都是GET请求,获取Html文件到浏览器运行. GET - (获取数据)从指定的服务器中获取数据Get,是向服务器发索取数据的一种请求,Get是获取信息 ...

  2. JSP、Servlet中get请求和post请求的区别总结

    在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于 ...

  3. 同步请求和异步请求的区别

    同步请求和异步请求的区别 先解释一下同步和异步的概念 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式.   异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据 ...

  4. python 面试题 -------------- get 和 post 请求的 区别

    get 和 post 请求的 区别 面试中用到的: python request库中 Get 和 Post : 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到:POST方式,数据放置 ...

  5. java中的post的作用,JSP、Servlet中get请求和post请求的区别总结

    在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于 ...

  6. SAP BASIS 工作台请求和定制请求的区别

    SAP BASIS 工作台请求和定制请求的区别 工作台: workbench相关的对象更改,比如新建一个ABAP程序,一般是跨 client的修改: 工作台请求可以理解成ABAP开发相关的,比如定价例 ...

  7. 客户端(前端)Ajax中Get请求和Post请求的区别

    我们在使用Ajax时,当我们向服务器发送数据时,我们可以采用Get方式请求服务器,也可以使用Post方式请求服务器.那么,Get请求和Post请求的区别到底在哪呢?  GET请求  get是最常见的请 ...

  8. python requests session post_requests.session()发送请求 和使用requests直接发送请求的区别...

    requests.session()发送请求 和使用requests直接发送请求的区别 一.Session 在requests里,session对象是一个非常常用的对象,这个对象代表一次用户会话:从客 ...

  9. Post和Get,Post和Put请求的区别

    文章目录 一.Post 和 Get 请求的区别 1.应用场景 2.缓存 3.发送报文实体部分 4.安全性 5.发送数据长度 6.参数类型 二.Post和Put请求的区别 一.Post 和 Get 请求 ...

  10. 接口定义,常见的接口,常见的接口请求方式,put请求和patch请求的区别

    接口定义:应用程序编程接口,指前后端数据交互的一套标准,包括软件内部之间的接口,硬件之间的接口或者是软件对外的接口. 常见的接口类型:         1,Webservice接口,主要用于服务端的接 ...

最新文章

  1. android jni 字符串拼接,AndroidJNI
  2. python基础教学视频-Python基础教程(附教学视频)
  3. 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)
  4. 浅谈js本地图片预览
  5. 不用第三方插件如何统计自己wordpress的访问量
  6. Python深度学习:No handles with labels found to put in legend.
  7. javascript乘法和加法_前端基础:JavaScript
  8. 台积电对世界最大创新贡献是什么?总裁魏哲家这样说...
  9. [转]前端HTML书写不得不掌握的Emmet缩写语法
  10. [转]coolfire黑客入门教程系列之(八)
  11. 2019你会被裁员吗?
  12. 手机硬件研发工程师的主要工作职责是什么?
  13. luogu P2381 圆圆舞蹈
  14. 明日之后服务器维护到几点,明日之后维护最新资讯
  15. 查看计算机温度指令,怎么查看电脑温度|查看电脑温度的三种方式
  16. 什么是维度表和事实表
  17. 以太网传输中的NNI与UNI
  18. Vert.x(vertx) 事件总线(EventBus)与 远程服务调用
  19. 像学画画一样的学程序研发
  20. Image Matching from Handcrafted to Deep Features: A Survey 图像匹配译文(三)

热门文章

  1. keep-alive用法及注解
  2. 华为电视升级后不能投屏鸿蒙,更具品价比,华为智慧屏SE系列或将成年轻人心头草...
  3. 全栈必备 :C语言基础
  4. 知到网课中国旅游线路地理考试|试题|题库|真题|搜题|答案
  5. pip install basicsr安装时在Preparing metadata (setup.py)卡住
  6. 【莫烦Python】Matplotlib Python 画图教程 设置坐标轴
  7. pycharm使用技巧-换行
  8. 布尔表达式,python代码示例
  9. 5G科普——什么是NFV
  10. 拯救单身狗:这个对象生成器帮你看看未来对象长啥样