网络爬虫学习笔记 1 HTTP基本原理

HTTP原理

~~~~~ HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一种使用最为广泛的网络请求方式,常见于在浏览器输入一个地址。

1. URI和URL

  • URL(Universal Resource Locator,统一资源定位器)
  • URI(Uniform Resource Identifier,统一资源标识符)
  • URL 是 URI 的子集,URI还包括一个子类 URN(Universal Resource Name,统一资源名称)
  • URI 可被视为定位符URL、名称URN或两者兼备
  • URN 定义某事物的身份,URL提供查找该事物的方法
  • URN 仅用于命名,而不指定地址
    注: \color{red}{{注:}} 注:在目前互联网中,URN 使用很少,几乎都是 URI 和 URL ,所以一般网页可以称URL或URI

2. 超文本

  • 浏览器中的网页是由超文本(Hypertext)解析而成
  • 网页源代码是一系列HTML代码里面包含一系列标签(如 img 显示图片、p 显示段落),浏览器解析这些标签后形成了我们平时看到的网页
  • 网页的源代码比起普通文本能够描述更多的内容,包括网页的样式、网页的构成等,这些网页的源代码HTML就被称为超文本

3. HTTP和HTTPS

  • HTTP (Hyper Text Transfer Protocol,超文本传输协议)是用于从网络传输超文本数据本地浏览器的传输协议,它能保证高效而准确地传送超文本文档
  • HTTPS (Hyper Text Transfer Protocol over Secure Socket Layer,超文本传输安全协议)是以安全为目标 的 HTTP 通道,是HTTP的安全版 ,它在普通 的 HTTP 下加入TLS (TransportLayer Security,传输层安全协议)
  • TLS 是为网络通信提供安全及数据完整性的一种安全协议。
  • HTTPS的安全基础是SSL,通过它传输的内容都是 SSL加密的,主要作用有两种
    • 建立一个信息安全通道,保证数据传输的安全
    • 确认网站的真实性,凡是使用 HTTPS 的网站都可以通过单击浏览器地址栏的锁头标志来查看网站认证之后的真实信息,也可以通过 CA 机构颁发的安全签章来查询
  • 一些网站虽然使用HTTPS 协议,但还是会被浏览器提示不安全,如在Chrome 浏览器中打开链接,它会提示"您的连接不是私密连接"
    • 原因是某些网站的证书是不被官方机构认可的,所以证书验证不通过,但它的数据传输
      依然是 SSL 加密的爬虫如果要爬取这样的站点,就需要设置忽略证书的选项,否则会提示SSL 链接错误

4. HTTP请求过程

~~~~~ 在浏览器输入一个 URL,按回车键后,在浏览器中观察页面内容,其中的过程是浏览器向网站所在服务器发送一个 Request (请求),网站服务器接收到 Request 后进行处理和解析,然后返回对应的 Response(响应),传回浏览器,Response 中包含页面的源代码等内容,浏览器再对其进行解析便会将网页呈现出来。
~~~~~ 请求头里面带有许多请求信息,例如浏览器标识、Cookies、Host等信息,这是 Reque的一部分,服务器会根据请求头内的信息判断请求是否合法,进而做出对应的响应,返回Response。例如,其中包含务器的类型、文档类型、日期等信息,浏览器接收 Response 后,会解析响应内容,进而呈网页内容。

相关推荐
2501_9418649614 分钟前
科学方法论破解学习时间堆砌误区
学习
深蓝电商API25 分钟前
爬虫IP封禁后的自动切换与检测机制
爬虫·python
傻小胖1 小时前
22.ETH-智能合约-北大肖臻老师客堂笔记
笔记·区块链·智能合约
1024小神1 小时前
SVG标签中path路径参数学习
学习
浅念-1 小时前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
ZH15455891312 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
简佐义的博客2 小时前
生信入门进阶指南:学习顶级实验室多组学整合方案,构建肾脏细胞空间分子图谱
人工智能·学习
近津薪荼2 小时前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先
喵手2 小时前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
喵手2 小时前
Python爬虫实战:地图 POI + 行政区反查实战 - 商圈热力数据准备完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·地区poi·行政区反查·商圈热力数据采集