爬虫中网络知识基础

发布于:2025-06-26 ⋅ 阅读:(19) ⋅ 点赞:(0)

HTTP(HyperText Transfer Protocol)和 HTTPS(HyperText Transfer Protocol Secure)是互联网上用于传输网页内容等数据的两种主要协议,以下是它们的定义和基本工作原理:

HTTP

  • 定义 :HTTP 是一种超文本传输协议,用于在客户端(如浏览器)和服务器之间传输网页内容、图片、视频等超文本资源。

  • 工作原理

    • 请求 - 响应模式 :客户端向服务器发送请求,服务器根据请求返回相应的响应。例如,当用户在浏览器中输入网址并访问网页时,浏览器会向服务器发送 HTTP 请求,服务器接收到请求后,会根据请求的内容返回相应的网页数据等作为响应。

    • 无状态协议 :HTTP 是无状态的,即服务器不会记录客户端之前发送的请求信息,每次请求都是独立的。服务器处理完一个请求并返回响应后,连接就会关闭,不会保留与该请求相关的任何状态信息。例如,用户在浏览一个普通新闻网站时,每次点击不同的新闻链接,浏览器向服务器发送不同的请求,服务器处理完每个请求并返回相应页面后,不会记住之前已经处理过哪些请求。

  • 特点

    • 简单快速 :协议本身比较简单,传输速度快,适合传输一些对安全性要求不高的数据,如普通网页内容等。

    • 灵活 :可以传输多种类型的数据,如文本、图片、视频等,并且可以通过各种方法和状态码来处理不同的请求和响应情况。

    • 无连接 :每次请求都需要建立新的连接,请求完成后连接就会关闭,这种机制相对简单,但在频繁请求的场景下,可能会增加网络开销。

HTTPS

  • 定义 :HTTPS 是 HTTP 的安全版本,它在 HTTP 的基础上添加了 SSL/TLS 加密层,用于在客户端和服务器之间建立加密通道,确保数据传输的安全性。

  • 工作原理

    • 握手阶段 :当客户端连接到服务器时,首先会进行 SSL/TLS 握手过程。客户端和服务器会协商加密算法、交换加密密钥等信息,以建立安全的加密通道。这个过程包括客户端向服务器发送加密请求、服务器回应客户端并发送数字证书、客户端验证服务器的合法性、客户端准备密钥交换信息、服务器解密预主密钥并生成会话密钥等步骤。

    • 加密通信阶段 :握手完成后,客户端和服务器之间通过加密通道进行数据传输。双方使用会话密钥对数据进行加密和解密,确保数据在传输过程中不被窃取和篡改。

  • 特点

    • 安全性高 :通过 SSL/TLS 加密层对数据进行加密,可以有效防止数据在网络传输过程中被窃取、篡改和伪造,保护用户的隐私和安全。

    • 身份验证 :服务器需要向客户端提供数字证书,客户端可以验证服务器的身份,确保连接到的是真实的服务器,而不是假冒的网站。

    • 兼容性好 :在现有 HTTP 协议的基础上进行了扩展,与 HTTP 兼容,可以在不影响现有网站架构的情况下,为网站提供更安全的访问方式

URL(Uniform Resource Locator,统一资源定位器),也常被称为网址(Web 地址),用于标识和定位互联网上的资源(如网页、图片、视频、文件等),是万维网(WWW)中用于指定信息位置的标准方法。

URL 的基本结构

一个典型的 URL 通常由以下几个部分组成:

  • 协议(Protocol) :也称为方案(Scheme),它指定了用于访问资源的协议类型。最常见的协议有 HTTP(超文本传输协议)和 HTTPS(安全的超文本传输协议),此外还有 FTP(文件传输协议)、file(用于访问本地文件)、mailto(用于发送电子邮件)等。

  • 子域名(Subdomain) :用于进一步划分和标识网站的不同部分或服务。

  • 顶级域名(Top-level domain,TLD) :顶级域名是域名层级结构中的最顶层,用于标识网站所属的通用类别或国家和地区等。常见的顶级域名有 “.com”(商业机构)、“.org”(非营利组织)、“.net”(网络服务提供商)、“.edu”(教育机构)、“.cn”(中国国家顶级域名)等。

  • 二级域名(Second-level domain) :二级域名是顶级域名下的具体域名,由个人或组织注册和管理,用于标识特定的网站。在 “https://www.baidu.com/s?wd=爬虫” 中,“baidu” 是二级域名,用于标识百度这个特定的网站。

  • 端口号(Port number)(可选) :端口号用于标识特定的网络服务或应用程序,它帮助浏览器确定将请求发送到服务器的哪个端口。在 URL 中,端口号一般跟在域名或 IP 地址后面,用冒号 “:” 分隔。如果省略端口号,浏览器会使用默认端口,如 HTTP 默认使用 80 端口,HTTPS 默认使用 443 端口。

  • 路径(Path) :路径用于服务器指定上具体资源的位置,从网站的根目录开始,层层深入地指定资源所在的目录结构。

    • 在 “https://www.baidu.com/s?wd=爬虫” 中,“/s” 是路径,表示要访问的是服务器上 “/s” 这个位置的资源,通常对应一个网页或程序的入口。

  • 查询字符串(Query string)(可选) :查询字符串用于向服务器传递额外的参数信息,以指定对资源的特定操作或请求特定的内容。它通常以问号 “?” 开头,后面跟着一个或多个键值对(参数名和参数值用等号 “=” 连接,多个键值对之间用 “&” 分隔)。

    • 在 “https://www.baidu.com/s?wd=爬虫” 中,“wd=爬虫” 是查询字符串,表示向服务器传递了一个名为 “wd” 的参数,其值为 “爬虫”,用于在百度中搜索 “爬虫” 相关的内容。

Cookie 是存储在用户本地终端上的数据(通常经过加密),由用户端的浏览器依照需要存取。

**一、工作原理**

  1. 当用户访问一个网站时,服务器可以通过 HTTP 响应头将 Cookie 信息发送给浏览器。
  2. 浏览器会将这些 Cookie 信息存储在本地。当用户再次访问该网站时,浏览器会通过 HTTP 请求头自动将这些 Cookie 发送给服务器。
  3. 例如,用户登录一个网站,服务器验证用户身份后,会在响应头中设置一个 Cookie,其中可能包含用户的身份标识等信息。当用户后续访问该网站的其他页面时,浏览器会将这个 Cookie 发送给服务器,服务器通过识别这个 Cookie 来知道这个用户已经登录过,从而为用户提供一个无缝的、个性化的访问体验。

**二、作用**

  1. **会话管理**
     * 在 Web 应用中,Cookie 是用于会话状态管理的常用方式。它可以帮助服务器记住用户的登录状态。例如,当用户登录一个电商网站后,网站会在用户的浏览器中设置一个包含会话信息的 Cookie。在用户浏览网站的不同页面时,这个 Cookie 会被发送到服务器,服务器通过验证这个 Cookie 来确认用户的身份,让用户可以持续地进行购物车操作、查看订单等需要登录状态的功能而无需反复登录。

  2. **个性化体验**
     * 网站可以根据 Cookie 中的信息为用户提供更个性化的页面内容。比如,一个新闻网站可以根据用户之前浏览的新闻类别(这些类别信息可能存储在 Cookie 中)来推荐类似的新闻。如果一个用户经常浏览体育新闻,网站就可以为该用户优先显示体育相关的新闻内容。

  3. **网站分析**
     * Cookie 可以用于网站流量分析。网站可以通过 Cookie 来跟踪用户的访问来源、访问频率、在网站上的停留时间等信息。这些信息可以帮助网站管理员了解用户的行为习惯,从而优化网站的内容和布局。例如,通过分析 Cookie 数据,网站可以发现用户在某些页面上停留时间较长,这可能表明这些页面内容比较吸引用户,或者存在加载速度慢等问题。

**三、限制和隐私问题**

  1. **限制**
     * 浏览器对 Cookie 的数量和大小有一定的限制。一般来说,每个域名下的 Cookie 总大小有限制,通常在 4KB 左右,并且每个网站可以存储的 Cookie 数量也有上限,例如一般不允许超过 20 - 50 个 Cookie。这是为了防止 Cookie 占用过多的存储空间以及避免影响浏览器的性能。

  2. **隐私问题**
     * Cookie 可能会引发隐私担忧。因为 Cookie 可以存储用户的个人信息,并且在不同网站之间可能会有第三方 Cookie 的跟踪。例如,一些广告公司通过在不同网站上设置第三方 Cookie 来跟踪用户在多个网站上的行为,以便为用户推送更有针对性的广告。不过,现在浏览器提供了很多隐私设置选项,用户可以选择禁止第三方 Cookie 或者定期清除 Cookie 来保护自己的隐私。


网站公告

今日签到

点亮在社区的每一天
去签到