HTTP (XSS前简单了解)

XSS 学习前的 HTTP 协议基础回顾

在正式学习 XSS 之前,需要先回顾 HTTP 协议的基础特性,为后续理解 Cookie、Session、前端脚本执行、会话劫持等内容打下基础。

二、HTTP 协议基础概念

HTTP(超文本传输协议)是浏览器与 Web 服务器之间通信的通用规范。所有网页访问、表单提交、数据交互,均基于 HTTP 协议完成。
HTTP 最核心特性:无状态协议

  • 服务器不会永久记录用户访问行为与登录状态
  • 每一次客户端请求都是相互独立、互不关联
    正因为 HTTP 是无状态的,网站需要通过 Cookie、Session 来维持用户登录身份。这也是 XSS 攻击能够利用的关键条件。

三、常见 HTTP 请求方式

Web 业务中最常用的两类请求方式:

  • GET 请求
    • 用于向服务器获取、查询数据
    • 参数直接拼接在 URL 链接中,公开可见,长度有限
    • 常用于页面访问、内容查询、搜索等只读操作
  • POST 请求
    • 用于向服务器提交、新增数据
    • 参数存放于请求体内部,不在地址栏展示
  • 常用于账号登录、用户注册、发布评论、表单提交等数据提交操作
    除此之外,还有 HEAD、PUT、DELETE、OPTIONS 等拓展请求方式,日常开发中使用较少,简单了解即可。
    提示: Web 中大部分可控输入点、XSS 漏洞触发点,都集中在 GET 与 POST 参数当中。

四、HTTP 请求完整结构

标准 HTTP 请求分为三个部分:

  1. 请求行
    包含请求方法、访问资源路径、HTTP 协议版本
    示例:GET /login.php HTTP/1.1
  2. 请求头
    用于描述本次请求的附加信息,包含多个关键字段:
  • Host:指定访问的目标域名与端口
  • User-Agent:标识当前访问的浏览器与设备信息
  • Referer:标识当前请求的来源页面地址
  • Cookie:浏览器本地存储的身份凭证,XSS 主要攻击目标
  • Content-Type:定义提交数据的格式类型
  1. 请求体
    仅 POST、PUT 等请求存在,用于存放表单数据、账号密码、提交内容等自定义参数

五、HTTP 响应完整结构

客户端发送请求后,服务器会返回对应的响应内容,同样分为三部分:

  1. 响应行
    包含协议版本、状态码、状态描述
    常见状态码:
  • 200:正常访问
  • 302:重定向
  • 404:资源不存在
  • 500:服务器错误
  1. 响应头
    服务器返回的配置信息:
  • Set-Cookie:服务器下发指令,让浏览器本地写入并保存 Cookie
  • 各类安全响应头,可用于防御 XSS、CSRF 等 web 漏洞
  1. 响应体
    服务器返回的核心内容,即前端网页 HTML 源码。浏览器会自动解析响应体内的 HTML、JS、CSS 代码,XSS 攻击正是利用浏览器解析恶意脚本实现攻击
相关推荐
草莓熊Lotso5 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
XR1234567885 小时前
汽车制造园区网络怎么建?柔性产线与 AGV 的选型逻辑
网络·汽车·制造
IT大白鼠15 小时前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Julien200415 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
kekekzt16 小时前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
mooooooooooye19 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina19 小时前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络
江安下小雨21 小时前
muduo网络库(十六):新增连接池模块
网络·c++
aiot1891893521821 小时前
机场候机大厅高空场景技术红线!蓝牙AOA不能做手机导航??!!
大数据·网络·人工智能·蓝牙aoa
从入门到退休1 天前
企业远程控制选型:向日葵SDK vs RustDesk自建,谁是更务实的选择?
运维·服务器·网络·远程工作·远程控制