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

Web安全测试(二):HTTP状态码、响应和url详解

一、前言

结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬!
全部文章请访问专栏:《全栈安全测试教程(0基础)》


文章目录

    • 一、前言
    • 二、HTTP状态码
      • 1)常见状态码
      • 2)状态码的含义
    • 三、HTTP响应头
      • 1)常用标准响应头字段
    • 四、HTTP中的URL
      • 1)什么是URL
      • 2)URL编码格式
      • 3)URL同源策略


二、HTTP状态码

HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事。
HTTP状态码被分为五大类, 目前我们使用的HTTP协议版本是1.1, 支持以下的状态码。

在这里插入图片描述

1)常见状态码

200 OK 服务器成功处理了请求(这个是我们见到最多的)

301/302 Moved Permanently(重定向)请求的URL已移走。Response中应该包含一个Location URL, 说明资源现在所处的位置

304 Not Modified(未修改)客户的缓存资源是最新的, 要客户端使用缓存

404 Not Found 未找到资源

501 Internal Server Error服务器遇到一个错误,使其无法对请求提供服务

2)状态码的含义

状态码为1xx

在这里插入图片描述
状态码为2xx

在这里插入图片描述
状态码为3xx

在这里插入图片描述状态码为4xx

在这里插入图片描述
状态码为5xx

在这里插入图片描述

三、HTTP响应头

1)常用标准响应头字段

Access:服务器支持哪些请求方法(如GET、POST等)。
Content-Encoding:文档的编码(Encode)方法。
Content-Length:表示内容长度。
Content-Type:表示后面的文档属于什么MIME类型。
Date:当前的GMT时间。
Expires:应该在什么时候认为文档已经过期,从而不再缓存它
Last-Modified:文档的最后改动时间。
Location:表示客户应当到哪里去提取文档。
Refresh:表示浏览器应该在多少时间之后刷新文档,以秒计。
Server:服务器名字。
Set-Cookie:设置和页面关联的Cookie。
WWW-Authenticate:标识访问请求实体的身份验证方案

响应头示例

HTTP/1.1 302 Found
Date: Sun, 20 Aug 2017 13:38:54 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16
Location: https://www.aqzhi.com/
Content-Length: 206
Connection: close
Content-Type: text/html; charset=iso-8859-1

四、HTTP中的URL

1)什么是URL

URL是统一资源定位符,是互联网上标准资源的地址
URL包含

  1. 协议
  2. 用户名:密码
  3. 主机 - 子域名.域名.顶级域名(或IP)
  4. 端口号
  5. 目录/文件名.文件后缀
  6. 参数=值
  7. 标志

格式:
协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志

相对URL:
/目录/文件名.文件后缀?参数=值#标志

2)URL编码格式

只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*‘(),”[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL。
编码格式为16进制,每两个16进制前加百分号(%)
例:“你好”的utf-8码为: \xe4\xbd\xa0\xe5\xa5\xbd
“你好”的URL – utf-8格式编码为: %E4%BD%A0%E5%A5%BD

3)URL同源策略

URL格式中,协议,主机,端口三部分相同,才能算是同源。
浏览器设置里,默认情况下只有同源的内容才能相互操作。

  1. 打开site1.com
  2. 创建iframe,打开site2.com
  3. site1.com的js访问site2.com的内容
  4. 这个时候会报错,不是同源不能进行相关操作。
http://www.lryc.cn/news/136695.html

相关文章:

  • 什么是算法评价指标
  • 什么是软件压力测试?软件压力测试工具和流程有哪些?
  • Wireshark流量分析例题
  • 聚观早报|2023戴尔科技峰会助力创新;小米汽车电池供应商敲定
  • 大学生创业出路【第二弹】科创训练营
  • EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks [2022 CVPR]
  • 进行Stable Diffusion的ai训练怎么选择显卡?
  • 【Linux】【驱动】第一个相对完整的驱动编写
  • PHP 高德地图,获取经纬度
  • Node基础--Node基础使用体验
  • 22 从0到1:API测试怎么做?常用API测试工具简介
  • Skywalking Kafka Tracing实现
  • Perl 解析字符串为日期对象并获取多天前的日期字符串
  • C语言问题 - 关于一维数组和二维数组用*a+i形式表达
  • 验证码识别DLL ,滑块识别SDK,OCR图片转文字,机器视觉找物品
  • 【图论】最小生成树的应用
  • C++类模板的特化(三)
  • 基于YOLOV8模型的课堂场景下人脸目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • java八股文面试[数据结构]——Map有哪些子类
  • 司徒理财:8.23今日黄金原油走势分析附操作策略
  • 使用动态IP是否会影响网络
  • Linux学习笔记-常用指令说明
  • MyBatisPlus进阶版
  • 安防视频云平台EasyNVR视频汇聚平台硬件无法进入服务器的问题处理方法
  • 流媒体内容分发终极解决方案:当融合CDN与P2P视频交付结合
  • 根据源码,模拟实现 RabbitMQ - 内存数据管理(4)
  • Apache Flume架构和原理
  • 代码随想录算法训练营day38 | LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
  • Linux基本指令【下】
  • 向量检索:基于ResNet预训练模型构建以图搜图系统