GET和POST是什么?
答:HTTP协议中的两种发送请求的方法。
HTTP是什么?
答:HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。
Get请求和Post请求区别:
总结:GET把参数包含在URL中,POST通过request body传递参数,所以Post更加安全一些;Get的效率比Post高一些,但是Get请求发送的参数是有限的,而Post请求是没有限制的(理论上来讲)。
使用场景:
- 在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
- Get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
区别表现如下:
- Get是从服务器上获取数据,Post是向服务器传送数据。
- Get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。Post是通过HTTP Post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
- 对于Get方式,服务器端用Request.QueryString获取变量的值,对于Post方式,服务器端用Request.Form获取提交的数据。
- Get传送的数据量较小,不能大于2KB。Post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 5. Get安全性非常低,Post安全性较高。但是执行效率却比Post方法好。
Get和Post还有一个重大区别:
Get产生一个TCP数据包;Post产生两个TCP数据包。
对于Get方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据),而对于Post,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
比如说:Get只需要汽车跑一趟就把货送到了,而Post得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。由于Post需要两步,时间上消耗的要多一点,所以Get比Post更有效率。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220155.html原文链接:https://javaforall.net
