get和post请求的区别

灰太狼 2022-02-21 11:45 459阅读 0赞

很多面试官都喜欢问这个问题,以前面试的时候总结了post和get的相关问题,希望能够大家,如有问题请大佬指教哈:

post和get区别??

  1. get是从服务器上获取数据,post是向服务器传送数据;
  2. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB;
  3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据;
  4. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址,用户看不到这个过程;
  5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好;
  6. get产生一个TCP数据包;post产生两个TCP数据包;
  7. get和post都是HTTP协议的请求方式。

因此会建议:在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式。

-—————————————————

-—————————————————-

实际上真的只有这么多吗??真的有区别吗??

什么是get和post?

它们是HTTP协议中的两种请求方式,而HTTP是基于 TCP/IP的,get/post都是TCP链接,所以get和post的作用是一样的,如果你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。

get请求方式:浏览器会把http header和数据一并发送出去,服务器响应200。

post请求方式:浏览器先发送header,服务器响应100 continue,浏览器再发送数据,服务器响应200 (返回数据)。

从上面可以分析出,post发生了两次请求,而get是一次请求,从表面看的话get会快一点,为什么不能直接用get替换所有的post呢?

第一:GET与POST都有自己的语义,不能随便混用;

第二:在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点;

第三:并不是所有浏览器都会在POST中发送两次包,目前就Firefox只发送一次。

发表评论

表情:
评论列表 (有 0 条评论,459人围观)

还没有评论,来说两句吧...

相关阅读

    相关 GETPOST请求区别

    1.get请求一般是去取获取数据(其实也可以提交,但常见的是获取数据); post请求一般是去提交数据。 2.get因为参数会放在url中,所以隐私性,安全性较差,请求

    相关 get请求post请求区别

    1.get请求用来从服务器上获取资源;而post请求通常是用来向服务器提交数据的; 2.get请求是将表单中的数据按 name=value 的形式,添加到action所指向的

    相关 GETPOST请求区别

    一、原理区别 一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。

    相关 getpost请求区别

    很多面试官都喜欢问这个问题,以前面试的时候总结了post和get的相关问题,希望能够大家,如有问题请大佬指教哈: post和get区别?? 1. get是从服务器上获