首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

HTTP 請求頭自定義參數作用:服務端識別 AJAX、傳遞 Token、版本控制

     編輯:程式設計綜合問答

xhr.setRequestHeader('key', 'value') 設置的自定義 Header,瀏覽器發送時會攜帶,服務端可讀取。典型用途:

1. 識別 AJAX 請求

// 前端
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

// 後端 (Spring MVC)
@GetMapping("/api/data")
public String api(@RequestHeader(value="X-Requested-With", required=false) String xrw) {
    if (!"XMLHttpRequest".equals(xrw)) return "forbidden"; // 非 AJAX 拒絕
    return "data";
}

2. 傳遞認證 Token

xhr.setRequestHeader('Authorization', 'Bearer ' + token);

3. API 版本控制

xhr.setRequestHeader('Accept-Version', 'v2');

限制

  • 瀏覽器**禁止**設置部分敏感 Header:Referer、Origin、Host、Cookie 等
  • 跨域請求需服務端 Access-Control-Allow-Headers 白名單放行自定義 Header
  • JS 無法直接讀取響應頭自定義字段(受 Access-Control-Expose-Headers 限制)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved