爬虫中网络知识基础

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” 的参数,其值为 “爬虫”,用于在百度中搜索 “爬虫” 相关的内容。

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 来保护自己的隐私。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86256.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全工具-二进制安全-testssl.sh

1 需求 --openssl <PATH> &#xff1a;use this openssl binary (default: look in $PATH, $RUN_DIR of testssl.sh) --quiet&#xff1a;dont output the banner. By doing this you acknowledge usage terms normally appearing in the banner --severity <severity…

WHAT - 组件库与 Storybook

文章目录 什么是 Storybook&#xff1f;使用场景举例快速上手教程&#xff08;React 为例&#xff09;1. 安装 Storybook2. 创建一个 Story&#xff08;组件故事&#xff09;3. 启动 Storybook 常用功能常见生态扩展示例&#xff1a;用 Args 和 Controls 动态控制 Props推荐资料…

魔音音乐 5.0.2 | 无损下载 同步网易云歌单UI美观

魔音音乐是一款功能丰富的音乐播放软件&#xff0c;提供高保真音质、智能推荐系统和用户友好界面。其丰富的音乐库几乎覆盖了所有类型的音乐&#xff0c;无论是流行歌曲还是小众音乐&#xff0c;都能在这里找到。这款应用非常适合音乐爱好者使用&#xff0c;它不仅让你享受高品…

云原生时代的中国答案:OLARDB、OceanBase与PostgreSQL的共生革命

以下是对阿里自研数据库的全景式技术调查,重点梳理其产品体系、与PostgreSQL的技术关联及发展历程: 一、阿里自研数据库全景图谱 ​​1. 核心自研产品​​ ​​数据库名称​​​​类型​​​​技术定位​​​​与PostgreSQL关系​​​​PolarDB​​云原生分布式数据库存储计…

HTTP 请求方法与状态码

前言&#xff1a;构建可靠前端应用的 HTTP 通信基础 在当今复杂的 Web 应用生态中&#xff0c;前端开发已远超简单的页面构建&#xff0c;转而成为与后端系统紧密交互的复杂体系。作为这一交互的核心机制&#xff0c;HTTP 协议承载着几乎所有的前后端数据交换&#xff0c;其设…

WIFI原因造成ESP8266不断重启的解决办法

一、报错 报错信息如下&#xff1a; 21:37:21.799 -> ets Jan 8 2013,rst cause:2, boot mode:(3,7) 21:37:21.799 -> 21:37:21.799 -> load 0x4010f000, len 3424, room 16 21:37:21.799 -> tail 0 21:37:21.799 -> chksum 0x2e 21:37:21.799 -> loa…

13.5-13.8. 计算机视觉【2】

文章目录 13.5. 多尺度目标检测13.5.1. 多尺度锚框13.5.2. 多尺度检测13.5.3. 小结 13.6. 目标检测数据集13.6.2. 读取数据集13.6.3. 演示 13.7. 单发多框检测&#xff08;SSD&#xff09;13.7.1. 模型13.7.1.1. 类别预测层13.7.1.2. 边界框预测层13.7.1.3. 连结多尺度的预测13…

RSS解析并转换为JSON的API集成指南

RSS解析并转换为JSON的API集成指南 引言 随着互联网的发展&#xff0c;信息的传播和共享变得越来越重要。RSS&#xff08;简易信息聚合&#xff09;作为一种广泛采用的格式&#xff0c;用于发布经常更新的内容&#xff0c;如博客文章、新闻头条或播客等。它允许用户订阅这些内…

java数据类型详解篇

1、8种基本数据类型 数据类型分类字节数内存位数是否最高位为符号位&#xff08;0正数1负数&#xff09;取值范围&#xff08;数值形式&#xff09;取值说明byte整数类型18是-128 ~ 127-2^7 ~ 2^7 - 1 &#xff08;幂形式&#xff09;short整数类型216是-32,768 ~ 32,767-2^15…

vue 浏览器样式警告:“unknown property name“

浏览器样式警告&#xff1a;"unknown property name"&#xff0c;但在部分电脑上的浏览器又是没有问题的。 这个问题因为没有安装sass或者less&#xff0c;却直接使用了他的语法&#xff0c;比如嵌套样式&#xff1a; body {/* 按钮 */.el-button {background: lin…

postgresql DDL脚本

在PostgreSQL中&#xff0c;数据定义语言&#xff08;DDL&#xff09;脚本用于定义、修改或删除数据库的结构。DDL 操作包括创建表、修改表结构、删除表等。以下是几种常见的DDL操作示例以及如何在脚本中实现它们。 1. 创建表 CREATE TABLE employees (employee_id SERIAL PR…

C#语言入门-task3 :C# 语言的面向对象技术

C# 面向对象编程技术概述 C# 是一种现代化的面向对象编程语言&#xff0c;提供了丰富的特性来支持面向对象的编程范式。以下是 C# 中面向对象编程的核心概念和技术&#xff1a; 核心概念 1. 类与对象 类是对象的蓝图&#xff0c;定义了对象的属性和行为。对象是类的实例。 …

感知框2D反投是咋回事?

一、感知框&#xff1a;“2D 框反投” 是咋回事&#xff1f;&#xff08;以自动驾驶识别车辆为例&#xff09; 1. 核心逻辑&#xff1a;从图像特征 “反推” 目标框 简单说&#xff0c;先用算法在 2D 图像里识别特征&#xff08;比如车辆的轮廓、颜色、纹理&#xff09;&#…

五分钟了解@ExcelIgnoreUnannotated注解

ExcelIgnoreUnannotated 是 EasyExcel 框架中的一个注解&#xff0c;用于控制 Excel 导入/导出时对实体类字段的处理方式。它的作用如下&#xff1a; 核心功能 忽略未标注 ExcelProperty 的字段 当添加 ExcelIgnoreUnannotated 到类上时&#xff0c;EasyExcel 会 跳过所有未显…

Windows电脑数据恢复终极指南:从原理到实战

Windows电脑数据恢复终极指南&#xff1a;从原理到实战 数据丢失是每个电脑用户都可能遭遇的噩梦。本文将为您全面解析Windows平台下的数据恢复技术&#xff0c;从基础原理到高级技巧&#xff0c;帮助您在文件误删、格式化、系统崩溃等情况下找回宝贵数据。 一、数据恢复基础…

【网络入侵检测】基于Suricata源码分析应用协议识别实现

【作者主页】只道当时是寻常 【专栏介绍】Suricata入侵检测。专注网络、主机安全&#xff0c;欢迎关注与评论。 1. 概要 &#x1f44b; 本文聚焦Suricata网络安全引擎的协议解析器实现&#xff0c;详细剖析HTTP、SSL/TLS、FTP、SSH、SMTP等协议的解析流程。 2. 源码分析 2.1 H…

Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡

Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡 引言&#xff1a;SSL/TLS的重要性与Nginx配置挑战 在当今互联网环境中&#xff0c;SSL/TLS加密已成为网站安全的基本要求。根据Google透明度报告显示&#xff0c;截至2023年&#xff0c;全球Chrome浏览器加载的网页…

C++字符串的行输入

1、字符串的输入 下面用一个真实的示例来进行演示&#xff1a; #include<iostream> #include<string>int main() {using namespace std;const int ArSize 20;char name[ArSize];char dessert[ArSize];cout << "Enter your name:\n";cin >>…

征服分布式系统:阿里云 Linux 多机互联与资源共享实战指南

征服分布式系统&#xff1a;阿里云 Linux 多机互联与资源共享实战指南 文章目录 征服分布式系统&#xff1a;阿里云 Linux 多机互联与资源共享实战指南一、分布式系统架构概述二、阿里云网络基础架构解析三、多机互联基础配置1. 环境准备2. 网络连通性测试3. SSH 密钥认证配置 …

AI三步诊断心理:比ChatGPT更懂人心

用人工智能(大语言模型)辅助心理治疗的研究 解决心理治疗中专业人员不足的问题,提出了一种叫“思维诊断”(DoT)的方法,让AI通过三个步骤来识别患者的“认知扭曲”(也就是负面、不合理的思维模式)。 背景:心理治疗的困境 全世界约八分之一的人有心理问题,但心理咨询师…