当前位置: 首页 > news >正文

爬虫中网络知识基础

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(用于发送电子邮件)等。

    • 例如,在 “https://www.baidu.com/s?wd=爬虫” 中,“https” 就是协议部分,表示使用安全的超文本传输协议来访问资源。

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

    • 例如,在 “https://www.baidu.com/s?wd=爬虫” 中,“www” 是子域名,通常代表该网站的主页面或主要服务部分。

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

    • 在 “https://www.baidu.com/s?wd=爬虫” 中,“com” 就是顶级域名。

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

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

    • 例如,“http://example.com:8080/page” 中,“8080” 是端口号,表示该资源位于服务器的 8080 号端口上。

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

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

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

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

相关文章:

  • 前端开发入门指南:掌握HTML基础
  • 安卓不同 View 组件间的数据通信
  • 容器技术入门与Docker环境部署指南
  • 提高WordPress网站加载速度和用户体验
  • 榕壹云无人售货机管理系统:开源架构赋能私有化部署,打造智能零售技术解决方案
  • 在大数据求职面试中如何回答分布式协调与数据挖掘问题
  • Spring Boot多数据源配置实战指南
  • 目标检测之YOLOv5到YOLOv11——从架构设计和损失函数的变化分析
  • 【Linux指南】文件管理高级操作(复制、移动、查找)
  • 基于ComfyUI与Wan2.1模型的本地化视频生成环境搭建指南
  • 音视频全链路开发实践:基于SmartMediakit的架构设计与应用实战
  • vivado使用非自带的第三方编辑器
  • js逻辑:【增量更新机制】
  • 如何在 Vue 应用中嵌入 ONLYOFFICE 编辑器
  • 设计模式-三大工厂
  • 深入理解JavaScript设计模式之迭代器模式
  • STM32 串口通信②:蓝牙模块HC-05控制单片机
  • LSTM、GRU 与 Transformer网络模型参数计算
  • 1931. 用三种不同颜色为网格涂色
  • Spring Boot 集成 Apache Kafka 实战指南
  • asp做网站搜索/搜索最多的关键词的排名
  • html5网站开发demo/临沂seo
  • 做网站怎插入背景/做个网站需要多少钱
  • 导航网站制作/百度图片
  • 韩国购物网站模板/郑州网络运营培训
  • 高明网站设计多少钱/线上seo关键词优化软件工具