Web基础

万维网(Web)的四大核心构成

万维网的四大核心构成包括超文本传输协议(HTTP)、超文本标记语言(HTML)、统一资源定位符(URL)和超链接(Hyperlink)。这些技术共同支撑了现代互联网的基础架构。

超文本传输协议(HTTP)

HTTP是客户端和服务器之间通信的基础协议,用于传输超文本数据。它定义了请求和响应的格式,支持GET、POST等方法来获取或提交资源。HTTP是无状态的,但通过Cookie等技术可以实现会话管理。

超文本标记语言(HTML)

HTML是用于创建和设计网页的标准标记语言。它通过标签定义网页的结构和内容,如标题、段落、图像和链接。HTML5引入了更多语义化标签和多媒体支持,增强了网页的表现力和交互性。

统一资源定位符(URL)

URL是用于标识互联网上资源位置的字符串。它由协议、域名、路径和查询参数等部分组成。例如,https://example.com/path?query=value。URL确保用户和程序能够准确访问特定的网络资源。

超链接(Hyperlink)

超链接是连接不同网页或资源的桥梁,通常以可点击的文本或图像形式呈现。它通过HTML的<a>标签实现,指向另一个URL。超链接是万维网“网状”结构的核心,实现了信息的互联互通。

这些技术共同构成了万维网的基础,使得信息的发布、检索和共享成为可能。

Web服务器的基本概念

Web服务器是一种软件或硬件系统,负责处理客户端(如浏览器)的HTTP请求,并返回响应(如HTML页面、图像或数据)。常见的Web服务器软件包括Apache、Nginx、IIS等。

主流Web服务器软件

Apache

  • 开源且跨平台,支持模块化扩展。
  • 适合动态内容处理,如与PHP结合使用。
  • 配置灵活,但高并发场景下性能可能受限。

Nginx

  • 高性能,擅长处理静态内容和反向代理。
  • 事件驱动架构,支持高并发连接。
  • 常用于负载均衡和缓存加速。

Microsoft IIS

  • 专为Windows设计,深度集成.NET框架。
  • 图形化界面管理,适合企业级应用。

Web服务器的工作原理

  1. 接收请求:客户端通过HTTP/HTTPS协议发送请求。
  2. 处理请求:服务器解析请求(如URL、方法GET/POST)。
  3. 生成响应:返回静态文件或调用后端程序(如PHP、Node.js)。
  4. 发送响应:将HTML、JSON等数据返回客户端。

Web访问流程概述

Web访问流程描述了从用户在浏览器输入URL到页面加载完成的完整过程,涉及DNS解析、TCP连接、HTTP请求与响应、页面渲染等关键步骤。

DNS解析

用户在浏览器输入URL后,系统首先通过DNS(域名系统)将域名转换为对应的IP地址。DNS查询遵循递归或迭代方式,依次检查浏览器缓存、操作系统缓存、路由器缓存、ISP DNS服务器,直至根域名服务器。

建立TCP连接

获取目标服务器IP后,客户端通过TCP三次握手与服务器建立连接。步骤如下:

  1. 客户端发送SYN(同步)报文到服务器。
  2. 服务器回应SYN-ACK(同步-确认)报文。
  3. 客户端发送ACK(确认)报文完成握手。

若启用HTTPS,还需进行TLS握手协商加密协议。

发送HTTP请求

TCP连接建立后,浏览器构造HTTP请求报文,包含请求方法(如GET/POST)、请求头(如User-Agent、Accept)、请求体(如POST数据)。示例GET请求:

GET /index.html HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 

服务器处理请求

服务器接收请求后,根据路径和参数处理请求,可能涉及后端程序(如PHP、Node.js)或静态文件直接返回。响应包括状态码(如200 OK)、响应头(如Content-Type)和响应体(如HTML内容)。

浏览器渲染

浏览器解析响应内容,逐步加载HTML、CSS、JavaScript及图片等资源:

  • 构建DOM树:解析HTML生成文档对象模型。
  • 构建CSSOM:解析CSS生成样式规则树。
  • 执行JavaScript:可能阻塞渲染,需优化加载顺序。
  • 生成渲染树:合并DOM与CSSOM,计算布局。
  • 绘制页面:根据渲染树进行像素级绘制。

连接终止

页面加载完成后,TCP连接通过四次挥手释放:

  1. 客户端发送FIN报文。
  2. 服务器回应ACK报文。
  3. 服务器发送FIN报文。
  4. 客户端回应ACK报文,等待超时后关闭连接。

性能优化方向

  • 减少DNS查询:使用DNS预解析或减少域名数量。
  • 复用连接:启用HTTP/2或Keep-Alive避免重复握手。
  • 压缩资源:Gzip压缩文本文件,优化图片格式。
  • 延迟加载:异步加载非关键资源(如JavaScript)。

Web服务器漏洞类型及防护措施

常见漏洞类型

  • 注入漏洞:SQL注入、OS命令注入等攻击方式,通过未过滤的用户输入执行恶意代码。
  • 跨站脚本(XSS):攻击者注入客户端脚本,窃取用户会话或篡改网页内容。
  • 配置错误:默认配置、未关闭的调试接口或暴露的敏感文件(如.git目录)。
  • 拒绝服务(DoS/DDoS):通过大量请求耗尽服务器资源导致服务瘫痪。
  • 过时组件:未更新的Web服务器软件(如Apache/Nginx旧版本)或存在已知漏洞的依赖库。

检测与修复方法

  • 使用自动化工具(如Nessus、OpenVAS)扫描漏洞,定期进行渗透测试。
  • 对用户输入实施严格过滤和验证,采用参数化查询防止SQL注入。
  • 配置Web应用防火墙(WAF)拦截恶意流量,如ModSecurity。
  • 及时安装安全补丁,移除不必要的服务和默认账户。

安全加固实践

  • 最小化权限原则:限制服务器进程和数据库账户的权限。
  • 启用HTTPS并配置HSTS,使用强加密算法(如TLS 1.3)。
  • 日志监控:记录访问日志和错误日志,设置异常行为告警。

代码示例(防护SQL注入)

# 使用参数化查询(Python示例) import sqlite3 conn = sqlite3.connect('example.db') cursor = conn.cursor() user_input = "admin' OR 1=1--" cursor.execute("SELECT * FROM users WHERE username=?", (user_input,)) # 安全 

数学公式(DoS攻击模型)
攻击流量阈值计算:
$$
T_{attack} = \frac{C_{server}}{R_{request}}
$$
其中,(C_{server})为服务器承载能力,(R_{request})为单请求资源消耗。

 

Read more

宇树科技Go2机器人强化学习(RL)开发实操指南

宇树科技Go2机器人强化学习(RL)开发实操指南

在Go2机器人的RL开发中,环境配置、模型训练、效果验证与策略部署的实操步骤是核心环节。本文基于宇树科技官方文档及开源资源,以Isaac Gym和Isaac Lab两大主流仿真平台为核心,提供从环境搭建到实物部署的全流程操作步骤,覆盖关键命令与参数配置,帮助开发者快速落地RL开发。 一、基础准备:硬件与系统要求 在开始操作前,需确保硬件与系统满足RL开发的基础需求,避免后续因配置不足导致训练中断或性能瓶颈。 类别具体要求说明显卡NVIDIA RTX系列(显存≥8GB)需支持CUDA加速,Isaac Gym/Isaac Lab均依赖GPU进行仿真与训练操作系统Ubuntu 18.04/20.04/22.04推荐20.04版本,兼容性最佳,避免使用Windows系统(部分依赖不支持)显卡驱动525版本及以上需与CUDA版本匹配(如CUDA 11.3对应驱动≥465.19.01,CUDA 11.8对应驱动≥520.61.05)软件依赖Conda(

By Ne0inhk

一、FPGA到底是什么???(一篇文章让你明明白白)

一句话概括 FPGA(现场可编程门阵列) 是一块可以通过编程来“变成”特定功能数字电路的芯片。它不像CPU或GPU那样有固定的硬件结构,而是可以根据你的需求,被配置成处理器、通信接口、控制器,甚至是整个片上系统。 一个生动的比喻:乐高积木 vs. 成品玩具 * CPU(中央处理器):就像一个工厂里生产好的玩具机器人。它的功能是固定的,你只能通过软件(比如按不同的按钮)来指挥它做预设好的动作(走路、跳舞),但你无法改变它的机械结构。 * ASIC(专用集成电路):就像一个为某个特定任务(比如只会翻跟头)而专门设计和铸造的金属模型。性能极好,成本低(量产时),但一旦制造出来,功能就永远无法改变。 * FPGA:就像一盒万能乐高积木。它提供了大量基本的逻辑单元(逻辑门、触发器)、连线和接口模块。你可以通过“编程”(相当于按照图纸搭建乐高)将这些基本模块连接起来,构建出你想要的任何数字系统——可以今天搭成一个CPU,明天拆了重新搭成一个音乐播放器。 “现场可编程”

By Ne0inhk
基于FPGA的CLAHE自适应限制对比度直方图均衡算法硬件verilog实现

基于FPGA的CLAHE自适应限制对比度直方图均衡算法硬件verilog实现

基于FPGA的CLAHE自适应限制对比度直方图均衡算法硬件verilog实现 摘要:本文详细阐述了基于 FPGA 的 CLAHE(自适应限制对比度直方图均衡)算法的硬件verilog实现方案。CLAHE是一种强大的图像增强算法,广泛应用于医学影像、红外成像、低照度增强等领域。本文将从算法原理出发,深入讲解各模块的RTL架构设计,包括坐标计数器、直方图统计、CDF计算、双线性插值映射以及乒乓RAM管理等核心模块的实现细节。 项目开源地址:https://github.com/Passionate0424/CLAHE_verilog 开源不易,辛苦各位看官点点star!! 一、CLAHE算法基本原理 1.1 算法背景 CLAHE(Contrast Limited Adaptive Histogram Equalization,对比度受限的自适应直方图均衡)是对传统自适应直方图均衡(AHE)的改进。AHE通过将图像划分为多个子区域(称为 “Tiles”),对每个Tile独立进行直方图均衡化,从而适应图像的局部特性。然而,AHE在噪声较大的平坦区域(如天空、

By Ne0inhk

Telegram搜索机器人推荐——查找海量资源,提升信息检索效率

大家好,本文首发于 ZEEKLOG 博客,主要面向需要在 Telegram 中高效检索资源的同学。我结合自己的实测体验,总结了几款实用的搜索机器人与完整操作流程,帮助大家解决“怎么快速找到频道、群组、文件”的痛点。如果你也在为信息筛选耗时头疼,建议耐心读完并亲手试试,收获会很大。觉得有帮助别忘了给个点赞、收藏和关注支持一下 🙂 📚 本文目录 * 使用准备 * 什么是Telegram搜索机器人? * Telegram搜索机器人的核心功能 * 推荐的Telegram搜索机器人 * 如何使用Telegram搜索机器人? * Telegram搜索机器人的应用场景 * 总结 在信息爆炸的时代,如何高效获取自己想要的资源?Telegram搜索机器人为你带来全新解决方案,无需翻找频道、群组,只需输入关键词,即可一键查找海量内容。无论是影视剧、电子书、图片还是优质群组,Telegram搜索机器人都能帮你轻松找到。推荐搜索机器人:@soso、@smss、@jisou 使用准备 1. 能访问外网,不会魔法的同学请参考:这里 2. 安装 Telegram

By Ne0inhk