爬虫基础1——Http基本原理

本文介绍了HTTP的基本原理,包括URL、超文本、HTTP与HTTPS的区别,详细阐述了HTTP请求过程,分为请求方法、请求头、请求体和响应状态码、响应头、响应体等内容,为Python爬虫学习打下基础。
摘要由CSDN通过智能技术生成

1.URL:

统一资源定位符,即常见的网页链接,爬虫中常用对象;
eg:https://www.jianshu.com/

2.超文本:

网页是由超文本解析而成的,网页源代码HTML就称作超文本;
在这里插入图片描述

3.HTTP和HTTPS:

联系:两者皆为超文本传输协议,旨在启用客户端和服务器之间的通信,充当客户端和服务器之间的请求-响应协议。

区别:HTTPS多加入了SSL层,对传输的内容进行加密,现阶段所有网页都逐渐统一HTTPS化;

4.HTTP请求过程:

在浏览器输入一个URL,回车,显示页面内容;

可以理解为:浏览器向网站所在服务器发送一个请求,服务器收到这个请求后进行处理和解析,然后返回对应的响应,接着传回给浏览器,响应包含了页面的源代码等,最后浏览器再对其进行解析,呈现;

5.请求:

客户端向服务端发出,分为四部分:请求方法(Request Method)、请求的网址(Request URL)、请求头(Request Headers)、请求体(Request Body):

(1)请求方法:主要包括Get、Post,另外还有Head、Put、Delete等:
Get请求(请求提交的数据不超过1024字节):在浏览器中直接输入URL并回车,eg:https://www.baidu.com/s?wd=米开朗基罗,URL包含了请求的参数信息;
Post请求(提交内容无限制):大多在表单提交时发起,例如登录某一网站时,输入账户信息并回车,就会产生一个Post请求;

(2)请求头(Request Headers):用来说明服务器要使用的附加信息,比较重要的信息包括:Cookie、Referer、User-Agent等;
在这里插入图片描述
在这里插入图片描述

Accept:用于指定客户端可接受那些类型的信息;(-language 语言类型,-encoding 内容编码);
Host:用于指定请求资源的主机IP和端口号;
Cookie:也常用复数形式Cookies;主要作用就是根据用户的登录信息,维持当前访问会话;我们有时打开常用的页面,如https://www.jianshu.com/,不需要输入账号信息就可以自动登录,这就是Cookie的功劳;Cookie信息存储在本地客户端,每当浏览器在请求该站点的页面时,都会在请求头中加入Cookie并将其发送给服务器,服务器根据Cookie内容识别出是我们,并且查出当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容;
Referer:表示这个请求是从哪个页面发送过来的,便于服务器做来源统计等;
User-Agent:简称‘UA’,使服务器识别客户使用的操作系统及版本,浏览器及版本等;在爬虫中添加此信息,可以伪装为浏览器;
Content-Type:互联网媒体类型或者MIME类型,用来表示具体请求中的媒体类型信息;

(3)请求体:一般承载Post请求中的表单数据,对于Get一般为空;在Request Headers的Content-Type中,参数可分为以下几种情况:
application/x-www-form-urlencoded:以表单数据的形式提交;application/json:提交json数据;
multipart/form-data:上传文件;
text/xml:上传XML数据;

6.响应:

由服务器返回给客户端,主要包括响应状态码(Response Status Code)、响应头(Response Headers)、响应体(Response Body):

(1)状态响应码:常用的包括:200-正常响应,404-页面未找到,500-服务器内部发生错误,503-服务器目前无法使用;

(2)响应头Response Headers(简单了解)
Response Headers示例图

(3)响应体:
eg:请求网页——响应体是HTML代码;请求图片——响应体是图片的二进制数据;做爬虫请求网页后,要解析的内容就是响应体。

————内容参考 崔庆才 《python3网络爬虫开发实战》————

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值