美文网首页
爬虫02-浅谈GET请求与POST请求

爬虫02-浅谈GET请求与POST请求

作者: Yan雪杉 | 来源:发表于2019-03-15 16:17 被阅读0次

在说请求的方法之前,我们来明确一下URL是什么。URL的全称是统一资源定位符,一个URL其实就对应着网页上的一个资源,例如网页上的一张图片、一首音乐都是一个资源,都有一个URL与之对应。而我们向URL发起请求,实际上是在请求资源。

最基本的请求方法其实有4种,分别为GET、POST、PUT、DELETE。对应着对资源的查、改、增、删。

今天我们就来看一下GET方法和POST方法有什么区别。

首先,从语义上来看,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

然后,从表象上来看,GET与POST有以下的区别:

  1. GET请求的数据会附在URL的后面,以?分割URL和传输的数据,参数之间用&相连接。就如下图这样,在百度中搜索“周杰伦”,传递的数据放在了URL中。


    image.png

    而POST则会将请求的数据放置在请求的Form(表单)中,就像下图这样,登录拉勾时,你的账号和密码不会附在URL后面,而是被隐藏了起来。


    image.png
  2. POST比GET的安全性更高,通过上面的对比,其实大家已经能够发现了,如果我们在处理登录页面的时候,采取GET请求,会发生什么事呢?我们输入的账号和密码被明文携带在了URL后面,别人通过查看浏览器历史记录就能知道你的账号和密码,这将会是一件多么可怕的事情。

  3. GET和POST当然还有其他的区别,不过剩下的暂时我们不需要过多地去了解,有兴趣的同学可以浏览下面的网址查看GET和POST的其他区别:

http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

最后,我们再谈一下在HTTP规范中,GET与POST的区别。

  1. 根据HTTP规范,GET用于资源信息的获取,而且是安全并且幂等的。

这里指的安全,仅仅意味着GET只表示资源的获取,而不对资源进行修改。但在实际操作中,很多人并没有按照这个规范来做,也有用GET请求来做增加或删除操作的。
这里的幂等指的是对于同一个URL的请求来说,应该返回相同的结果。而POST则不是幂等的,拿登录来说,同样的一个URL,输入的账号和密码不同,返回的结果也是不一样的。

  1. 根据HTTP规范,POST表示可能会修改服务器上资源的请求。例如常见的评论操作,其实都应该通过POST来实现,评论提交后,资源信息就已经被修改了。

最最后,有的童鞋对使用requests.get()返回一个Response对象没有疑问,而对requests.post()也会返回一个Response对象就有疑惑了,疑惑点都在于post不是向URL传输数据吗,怎么还会返回Response对象呢。

其实GET和POST都是向URL发起请求,只是传递数据的方式不同而已,只要是发起请求,服务器都会给出响应的。

相关文章

  • 爬虫02-浅谈GET请求与POST请求

    在说请求的方法之前,我们来明确一下URL是什么。URL的全称是统一资源定位符,一个URL其实就对应着网页上的一个资...

  • python请求模块

    爬虫请求模块 urllib.request中的get与post请求 get请求,查询参数在url地址中显示head...

  • python3爬虫笔记

    先上代码:GET请求爬虫示例: POST请求爬虫示例: 爬取手机应用商店更新:

  • Python 网络工具包 - requests

    安装与加载 网络请求 - Request GET 请求 POST 请求 - form-data POST 请求 -...

  • iOS请求方法和网络安全

    GET和POST请求 GET和POST请求简介 GET请求模拟登陆 POST请求模拟登陆 GET和POST的对比 ...

  • Python 爬虫知识记——基础篇

    简单的爬虫请求: 这样就会获取到指定网页的数据了。 GET 请求模拟 post 请求模拟 headers 请求头设...

  • java发送http请求

    restTemplate get请求 post请求 apache.http.client get请求 post请求...

  • iOS请求方法和网络安全

    GET和POST请求GET和POST请求简介GET请求模拟登陆POST请求模拟登陆GET和POST的对比保存用户信...

  • Okhttp3

    简介 配置 请求思路 get请求思路 post请求思路 get,post 同步和异步请求 异步请求(get) 同步...

  • Get和Post的区别

    Get请求和Post请求区别如下: Post请求比Get请求更安全,get请求直接将参数放置在URL中,post请...

网友评论

      本文标题:爬虫02-浅谈GET请求与POST请求

      本文链接:https://www.haomeiwen.com/subject/rvkrmqtx.html