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

随笔小计-前端经常接触的http响应头(跨域CORS,性能-缓存-安全,token)

在前端开发中,响应头由后端或服务器设置,前端开发需要理解其含义,以便调试跨域,缓存,安全性能等问题。

1.CORS-跨域

响应头说明
Access-Control-Allow-Origin允许哪些源访问资源(如*https://your-site.com
Access-Control-Allow-Methods允许的 HTTP 方法(如GET, POST, PUT
Access-Control-Allow-Headers允许客户端发送的自定义请求头(如Authorization, Content-Type
Access-Control-Allow-Credentials是否允许携带凭证(如 cookie),设为trueAllow-Origin不能为*
Access-Control-Max-Age预检请求(OPTIONS)结果的缓存时间(秒)

Access-Control-Allow-Origin: *是 CORS(跨域资源共享) 机制中的一个关键 HTTP 响应头,用于告诉浏览器:该资源可以被任意源(origin)的网页访问。

Access-Control-Max-Age:当浏览器发起一个带自定义请求头使用PUT/DELETE方法发送JSON数据等,会先自动发送以OPTIONS预检请求到服务'跨域请求是否被允许',避免相同请求重复发送预检请求,设置时间控制缓存持续时间。

2.性能,缓存,安全

响应头类别作用说明前端注意事项
Connectionkeep-alive性能优化保持 TCP 连接复用,减少建连开销无需处理,浏览器自动管理
Content-Encodinggzip性能优化响应体使用 Gzip 压缩浏览器自动解压,确保服务器正确压缩文本资源
Content-Typetext/javascript;charset=UTF-8内容类型标识资源为 UTF-8 编码的 JavaScript确保编码一致,避免乱码;现代推荐application/javascript(但兼容)
Strict-Transport-Securitymax-age=31536000; includeSubDomains; preload安全强制浏览器 1 年内使用 HTTPS(含子域)⚠️ HTTP 请求将被拒绝,确保全站 HTTPS
Transfer-Encodingchunked传输机制分块传输(动态内容,无固定长度)浏览器自动处理,无需干预
X-XSS-Protection1; mode=block安全(旧)启用 XSS 过滤并阻断攻击页面📌 现代浏览器已弃用,应优先使用 CSP

Content-Encoding:响应体使用 Gzip 压缩

3.Authorization: Bearer <token>

请求头中用于传递身份认证凭证

认证方案示例说明
Bearer(最常用)Authorization: Bearer eyJhbGciOiJIUzI1NiIs...用于 JWT、OAuth 2.0 等 Token 认证。前端从登录接口获取 token 后,后续请求都携带此头。
BasicAuthorization: Basic dXNlcjpwYXNz用户名密码 Base64 编码(user:passdXNlcjpwYXNz)。仅限 HTTPS,不推荐用于 Web 前端。

使用fetch

const token = localStorage.getItem('access_token'); fetch('/api/user/profile', { method: 'GET', headers: { 'Authorization': `Bearer ${token}` } }) .then(res => res.json()) .then(data => console.log(data));

使用Axios

axios.get('/api/orders', { headers: { 'Authorization': 'Bearer ' + token } });
http://www.jsqmd.com/news/221932/

相关文章:

  • 热销榜单:2026年EOR名义雇主服务品牌排行榜,助力企业灵活用工的五大优势
  • 复杂背景下的OCR识别:CRNN模型的解决方案
  • COMSOL二维仿真:电磁超声Lamb波在板材检测中的应用——适合新手入门学习使用
  • Thinkphp-Laravel+uniapp微信小程序的个人健康评估管理系统
  • L298N电机驱动模块去耦电容配置实战案例
  • 成功案例|如何进行定岗定编体系设计?——华恒智信助力某度假村林果部科学配员与弹性用工实例
  • 用Sambert-HifiGan为游戏NPC添加生动语音对话
  • 在 ABAP Cloud 里优雅读取与解析 XML:用 sXML Reader 把接口数据落成结构化 ABAP
  • Java开发者也能玩转AI视频生成?手把手教你部署
  • mysql用户名怎么看
  • 2026必备!9个AI论文写作软件,助研究生轻松搞定论文格式与内容!
  • 在 ABAP Cloud 里优雅地调用 HTTP 服务:新一代 HTTP Client 全面实践与落地指南
  • MySQL迁移到达梦:如何轻松、高质量完成迁移任务
  • ubuntu下的交叉编译
  • IDEA如何使用 Swing 构建用户界面
  • 动态功耗调度让乡村医疗设备续航翻倍
  • 研究考虑冷、热、电、气4种能源形式的综合能源系统,系统内含能源设备主要包括光伏电源、风力机组、...
  • 在 ABAP Cloud 中优雅访问系统字段:一套可测试、可扩展的 System Context 方案
  • 智能门禁系统:CRNN OCR识别身份证信息
  • 在 ABAP Cloud 里用 sXML Writer 生成 XML:不靠 Transformation 也能把结构搭得很漂亮
  • 提效安全双平衡:CI/CD工具该选谁?流水线产品评测
  • Webhooks:构建实时响应式系统的隐形桥梁
  • 医疗监护领域监测呼气末二氧化碳浓度的NDIR CO2传感器
  • 突发!刚刚新增17本期刊被剔除!
  • 项目解决方案:港口AI识别建设解决方案
  • 在 ABAP Cloud 用 XCO 生成 UUID:一行拿到稳定主键,并在多种格式间自由转换
  • 抄死主力组合系列主图 + 附图 2013年5月19日16:12:52
  • CRNN OCR性能测试:在不同硬件环境下的表现
  • 亲测好用9个AI论文网站,助你轻松搞定本科毕业论文!
  • 基于 YOLOv8 的 100 类中药材智能识别实战 [目标检测完整源码]