网络爬虫学习笔记 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 后,会解析响应内容,进而呈网页内容。

相关推荐
愚昧之山绝望之谷开悟之坡几秒前
回购逆回购
笔记
鱼子星_4 分钟前
【C++】string(上):string的基本使用
c++·笔记·字符串
AOwhisky17 分钟前
Python 学习笔记(第四期)——字符串:格式化、操作与文本处理——核心知识点自测与详解
开发语言·笔记·python·学习·列表·元组·字典
chnyi6_ya23 分钟前
论文阅读笔记 | VIDEOPHY: Evaluating Physical Commonsense for Video Generation
论文阅读·笔记
光学补偿25 分钟前
微服务学习 --- Spring Cloud概述
学习·spring cloud·微服务
AOwhisky1 小时前
Python 学习笔记(第六期)——函数:定义、参数传递与作用域
笔记·python·学习·云原生·运维开发·函数·参数传递
网小鱼的学习笔记1 小时前
Agent学习001
学习·迁移学习
白帽小阳1 小时前
我的AI辅助开发工具链2026版:从编码到部署的全栈智能实践
网络·人工智能·学习·安全·自动化
有Li2 小时前
通过渐进式域变换实现组织分类的无监督单域泛化文献速递/基于多模态的医学影像分割与理解
人工智能·学习·分类·数据挖掘·文献·医学生
kdxiaojie2 小时前
Linux 驱动研究 —— V4L2 (2)
linux·运维·笔记·学习