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 攻击正是利用浏览器解析恶意脚本实现攻击
相关推荐
Novproxy_Z7 小时前
商用代理避坑:如何识别商家拿机房 IP 冒充住宅 IP
java·网络·tcp/ip
垆边人似月.8 小时前
RDMA 文件传输踩坑(五):READY 发送成功后,为什么出现 Work Request Flushed Error?
服务器·网络·tcp/ip
HideF8 小时前
nmcli
linux·服务器·网络
qetfw9 小时前
UOS DHCP Relay:跨网段分配与 IP、DNS、网关验证
linux·服务器·网络·tcp/ip·uos
尹人入圣9 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
中屹指纹浏览器svip10 小时前
只用指纹浏览器,不搭配IP可以吗?
网络
jimmyleeee10 小时前
Agent安全之八:OWASP ASI08 级联失效------当每一个 Agent 都“正确”,系统却走向灾难
网络·安全·web安全
缓慢更新10 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
叼烟扛炮11 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
叼烟扛炮11 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip