HTTP协议篇 | 一起学Python网络爬虫

Posted AI图像

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议篇 | 一起学Python网络爬虫相关的知识,希望对你有一定的参考价值。

 

网络爬虫其实就是一个程序或脚本,这个脚本会按照一定的规则对万维网(www)上的信息数据进行抓取,来满足特定的业务或项目分析需求。既然网络爬虫所面向的对象是万维网,就必须对支撑万维网的请求-响应网络协议http有一定的了解。

 

1
HTTP简介

 

HTTPHyperText Transfer Protocol)即超文本传输协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,它是万维网交换信息的基础,它允许将html(超文本标记语言)文档从Web服务器传送到Web浏览器。

 

2
HTTP工作原理

 

HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URLHTTP服务端即WEB服务器发送所有请求。

Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。

Web服务器根据接收到的请求后,向客户端发送响应信息。

HTTP默认端口号为80,但是你也可以改为8080或者其他端口。


3
HTTP的特点

 

HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

 

HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

 

HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

 

4
HTTP的工作方式

 

HTTP遵循请求(Request/应答(Response)模型,Web浏览器向Web服务器发送请求时,Web服务器处理请求并返回适当的应答。

 

5
标准Http协议中的六种请求方法

 

GET:GET可以说是最常见的了,它实质就是发送一个请求来取得服务器上的某个资源。资源通过一组HTTP头和呈现数据返回给客户端。GET请求中,永远不会包含呈现数据。

 

HEAD:HEADGET实质是一样的,差别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。想象一个业务情景:欲判断某个资源是否存在,我们通常使用GET,但这里用HEAD则意义更加明确。

 

PUT:这个方法比较少见。HTML表单也不支持这个。实质上来讲, PUTPOST极为相似,都是向服务器发送数据,但它们之间有一个重要差别,PUT通常指定了资源的存放位置,而

POST则没有,POST的数据存放位置由服务器自己决定。

 

DELETE:删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazonS3云服务里面就用的这个方法来删除资源。

 

POST:向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。

 

OPTIONS:这个方法很有趣,但极少使用。它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。

 

下篇待续。。。

以上是关于HTTP协议篇 | 一起学Python网络爬虫的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议篇 | 一起学Python网络爬虫

爬虫入门及HTTP协议的讲解

python爬虫入门教程--快速理解HTTP协议

python爬虫入门教程--快速理解HTTP协议

和我一起学爬虫

❤️大佬都在学什么?Python爬虫分析C站大佬收藏夹,跟着大佬一起学, 你就是下一个大佬❤️!