python用http协议传数据_《Python网络爬虫》1.3 HTTP协议基础知识

什么是http协议呢?

HTTP(HyperText Transfer Protocol)指的是超文本传输协议。超文本传输协议是一种基于请求与响应模式的无状态的应用层协议。

请与响应模式:简单说,就是用户发起请求,服务器做相关响应。

无状态:指的是第一次请求,跟第二次请求之间,并没有相关的关联。

应用层协议:指的是该协议工作在tcp协议之上。

URL

HTTP协议一般采用url作为定位网络资源的标识。URL格式如下,

http://[host]:[port]/[path]

每一个url需要以http冒号,两个反斜杠开头,那它后面有3个域:

1、host是一个表示合法的internet主机,域名或ip地址。

2、 port,指的是端口号。这一部分可以省略那默认端口号为80。

3、path,指的是资源在这样的主机或ip地址的服务器上,它所包含的内部路径。

我们举个例子:

http://yeahcoding.tech/index.html

指的是一页编程官网根目录下的index.html文件。

我们怎么理解URL呢?

其实url是通过HTTP协议存取资源的internet路径,它就像我们电脑里边的一个文件的路径一样,只不过这个文件不在电脑里,在internet上,那每一个URL,对应了internet上的一个数据资源。

HTTP操作方法

HTTP协议对资源呢,它有些操作的功能,最主要的HTTP协议的操作方法,一共有6个:

方法

说明

GET

获取URL位置的资源

HEAD

获取位置资源的头部信息

POST

向URL位置的资源后,增加新的数据

PUT

向URL位置存储一个资源

PATCH

向URL位置的资源进行局部更新

DELETE

删掉URL位置所存储的相关资源

事实上,HTTP协议,通过URL对资源做定位,通过这样6个常用的方法,对资源进行管理,每一次操作都是独立无状态的,也就是这个操作跟下一次操作并没有关系。

在HTTP协议的世界里,网络通道跟服务器都是黑盒子,他能看到的就是url链接以及对url链接的相关操作。这

样理解大家是不是很清楚呢?

PATCH和PUT区别

我们举一个例子:

在URL的位置上有一组数据,这个数据叫UserInfo,表示的是用户信息,那它包含了很多字段,比如说包含了UserId,UserName等20个字段。需求是,用户只改变了自己的用户名,就是UserName, 而其他并没有改变,如何把这样的信息更新到服务器上?

采用PATCH方法

使用patch方法时,我们只需要使用HTTP协议,向URL重新提交UserName就行了。

采用PUT方法

PUT方法会覆盖URL位置所对应的资源,所以为了不覆盖掉这个资源,我们必须将userInfo所对应的20个字段,同时再次的提交到URL对应的位置上,包括你更新的这个UserName。如果恰巧你没有提交其他字段,只提交了UserName。那么这个URL对应的位置上就只剩Username的信息了。

比较PATCH跟PUT。我们发现PATCH方法的最大好处是节省网络带宽。当URL对应的资源是个很庞大资源的时候,我们只需要改其中一个,那我就用PATCH来去修改那一个,而不需要用PUT重新去提交那么多的资源。所以PATCH也是HTTP协议改良后的一个新增指令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值