HTTP GET POST method区别

首先通俗宏观的来说:浏览器用GET请求来获取一个html页面/图片/css/js等资源;用POST来提交一个<form>表单,并得到一个结果的网页。更简单的来说:post是用于提交数据用的,而get是从服务器获取数据用的.但是显然 这种解释过于片面(无论是get还是post都是可以请求数据和提交数据的,主要区别是在于他们的参数携带方式不同)
那么参数携带方式是一个怎么样不同的法呢?

  1. get请求方式向服务器请求数据或者是提交数据,所携带的参数是通过拼接在URL之后的,例如http://www.baidu.com/index.html/?username=zhangsan&password=123456 //这也是为什么我们爬虫用requests的get() method
    这个URL中?之后的就是要携带的参数。因为服务器对提交URL的长度有限制,所以就导致URL不能拼接的过长,也就是说URL之后不能携带太多的参数,所以就导致get上传的数据量比较小。

  2. post请求的时候参数携带是放在send()之中,通过管道流的方式断点上传的,由于服务器对每次上传数据的大小有限制,但是对于次数没限制,所以post请求通过断点上传可以多次上传,因此提交的数据量就会比较大。

其他的不同之处都是因为请求时携带参数方式的不同所带来的印象:比如说http提交方式的不同 ,安全性的不同(get方式安全性非常差 但是post也好不到哪里去,因为HTTP时明文协议 因此我们需要端端加密,通常的做法是使用https,也就是说利用SSL)

典型的两者的区别的例子:
网页弹出的“确认重新提交表单”警告
refer:https://www.zhihu.com/question/28586791

还有很多不是很清楚 以后慢慢搞清。

posted @ 2020-04-01 06:45  EvanMeetTheWorld  阅读(29)  评论(0)    收藏  举报