http请求中PUT GET POST区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http请求中PUT GET POST区别?相关的知识,希望对你有一定的参考价值。

http请求中PUT GET POST区别?

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

建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
参考技术A GET 是将你的请求直接以网址连接发送出去(到服务器端) , 并後台可能是静态的 html 档, 也可以是 cgi 的脚本, 如你这条问题的连结就是 http://zhidao.baidu.com/question/648362608116639645.html?entry=qb_ihome_tag <-- 这种就为之 GET
由於你给出的连接是"明显"的, 所以在服务器端你要存取的整个连结都会被写到 LOG 中, 所以, 你将不应该用 GET 作为提交 ID / 密码 的方式. GET 还有一个限制就是字串的请求长度为 8K 字节(BYTES)

POST 是将你表单中的内容, 以二进位式的串流发送到服务器端, 其对像大多数是 CGI 脚本 (当然也有 mailto 之类 -- 启动本地作业 ). 绝大多数表单的提交都用 POST, 就像登入帐号, 你在这里发表提问, 都是用 POST 的形式进行. 资料的传送相对 GET 是 "不明显的" ( 不会在 LOG 中看到你在表单里写了甚麼 ), 相对 GET, POST 的长度可以上 MB ( 你可以在服务器内自行设成多大都可以 )

PUT 跟 POST 也很相似, 但一般 (只是一般) 我们用 PUT 都是用来上传一些小档案, 且连结的位置就是档案的位置 (亦即是, 你 PUT 到一个连结之後, 你就直接用 GET 的方法将这档案下载回来), 例如 WebDAV ( 日历卡服务 ), 就很多时会用到 PUT, 但如果没有相关的需要时, 一般在考虑到安全问题的方向下, 都会从服务器内关掉接收这种请求 ( 其实还有 "DELETE", PUT 的反向动作 ).本回答被提问者和网友采纳
参考技术B GET 是将你的请求直接以网址连接发送出去(到服务器端) , 并後台可能是静态的 html 档, 也可以是 cgi 的脚本, 如你这条问题的连结就是 http://zhidao.baidu.com/question/648362608116639645.html?entry=qb_ihome_tag <-- 这种就为之 GET
由於你给出的连接是"明显"的, 所以在服务器端你要存取的整个连结都会被写到 LOG 中, 所以, 你将不应该用 GET 作为提交 ID / 密码 的方式. GET 还有一个限制就是字串的请求长度为 8K 字节(BYTES)

POST 是将你表单中的内容, 以二进位式的串流发送到服务器端, 其对像大多数是 CGI 脚本 (当然也有 mailto 之类 -- 启动本地作业 ). 绝大多数表单的提交都用 POST, 就像登入帐号, 你在这里发表提问, 都是用 POST 的形式进行. 资料的传送相对 GET 是 "不明显的" ( 不会在 LOG 中看到你在表单里写了甚麼 ), 相对 GET, POST 的长度可以上 MB ( 你可以在服务器内自行设成多大都可以 )

PUT 跟 POST 也很相似, 但一般 (只是一般) 我们用 PUT 都是用来上传一些小档案, 且连结的位置就是档案的位置 (亦即是, 你 PUT 到一个连结之後, 你就直接用 GET 的方法将这档案下载回来), 例如 WebDAV ( 日历卡服务 ), 就很多时会用到 PUT, 但如果没有相关的需要时, 一般在考虑到安全问题的方向下, 都会从服务器内关掉接收这种请求 ( 其实还有 "DELETE", PUT 的反向动作 ).

delete post put get请求参数

参考技术A delete请求携带bod y

post和put的第二个参数直接为data,第三个参数为config,但是delete第二个参数为config,所以传值时需要借助config中data字段,用data携带过去

put请求query参数拼接

第二个参数存在于body,可同时传递body,query拼接

以上是关于http请求中PUT GET POST区别?的主要内容,如果未能解决你的问题,请参考以下文章

delete post put get请求参数

post、get、put、patch、Delete的区别

http请求中get和post请求的区别

解析HTTP协议六种请求方法,get,head,put,delete,post有啥区别

http中get,post,put,delete方法的用法以及区别

PHP中put和post区别