不管是学习前端还是学习后端,get和post请求都是回避不开的知识点。但很多刚开始学习的小伙伴对这两种请求并不熟悉,接下来,小编带你分析一下get请求和post请求的区别吧。
GET请求
如图所示,这是一个GET请求,只有一个请求头,参数传递通过往URL后添加参数的方式进行传参。
POST请求
如图所示,这是一个POST请求,请求头后面携带一个表单数据。
相同点
请求头的大部分内容相同,只有部分有所区别,都是用来访问服务器的方法。
不同点
GET请求 | POST请求 | |
参数传递方式 | 传参时将参数放于url后。
|
请求和参数分开,参数作为独自携带的数据进行上传。 |
能否作为书签 | url中有传递参数,可以作为书签保存。 | 因为书签保存的是url,而post请求中url没有参数,所以不能作为书签保存 。 |
安全性 | 请求的参数直接暴露在url中,不能用来做用户名密码的请求 。 | 虽然参数也可以查看,但不像get方法一样直接暴露 (相对安全)。 |
长度限制 | 因为url有最大长度限制,所以get请求的参数也有长度限制 。 | post请求的参数独立发送,可以发送大量数据。 |
幂等性(即操作后是否会对服务器状态造成影响) | get请求是幂等的。 | post请求不是幂等的 。 |
作用 | get请求用于信息获取 。 | post也可用于信息获取,但更多的是用来修改服务器上的资源的请求 。 |
后端如何取值 | 用Request.QueryString获取变量的值 。 | 用Request.Form获取提交的数据 。 |
使用 | 在数据查询时,建议使用get方式。 | 在做数据的增加,删除,改动时,建议用post方式。 |
小结
不管是get请求还是post请求,他们都是http的请求。其实http的请求还有很多种,只不过这两种请求是最常被用户使用到的。关于请求部分的内容,属于http协议的内容,更多的的http协议的内容可以前往http教程进行了解。以上就是关于get和post请求的区别,更多精彩内容请关注W3C技术头条。