get和post的区别
想要做接口测试,要对get和post的原理有深入的理解,百度了一些答案,按照自己的理解,梳理get和post请求知识
get:请求指定的页面信息,并返回实体主体。
post:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
get和post的区别:
-
GET在浏览器回退时是无害的,而POST会再次提交请求。
-
GET产生的URL地址可以被Bookmark,而POST不可以。
-
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
-
GET请求只能进行url编码,而POST支持多种编码方式。
-
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
-
GET请求在URL中传送的参数是有长度限制的,而POST没有。
-
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
-
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
-
GET参数通过URL传递,POST放在Request body中。
- get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB
- get是从服务器上获取数据,post是向服务器传送数据。
get和post的工作模式:
- GET产生一个TCP数据包;POST产生两个TCP数据包
- 对于GET方式的请求,把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到
- 而对于POST,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程
什么时候使用get,什么时候使用post?
- 包含机密信息时,用post
- 做数据查询,用get
- 数据添加、修改、删除时,用post

浙公网安备 33010602011771号