`

x-requested-with 请求头

 
阅读更多
x-requested-with 请求头

在服务器端判断request来自Ajax请求(异步)还是传统请求(同步):

  两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数

  1、传统同步请求参数

    accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    accept-charset  gb2312,utf-8;q=0.7,*;q=0.7
    accept-encoding  gzip,deflate
    accept-language  zh-cn,zh;q=0.5
    cache-control  max-age=0
    connection  keep-alive
    cookie  JSESSIONID=1A3BED3F593EA9747C9FDA16D309AF6B
    host  192.168.101.72:8080
    keep-alive  300
    referer  XXX

    user-agent  Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)



  2、Ajax 异步请求方式

    accept  */*
    accept-language  zh-cn
    referer  xxx

    x-requested-with  XMLHttpRequest  //表明是AJax异步
    content-type  application/x-www-form-urlencoded,text/javascript
    accept-encoding  gzip, deflate
    user-agent  Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; QQDownload 598; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)
    host  192.168.101.72:8080
    content-length  233
    connection  Keep-Alive
    cache-control  no-cache
    cookie  CSS=undefined; JSESSIONID=1B9AC25036290F7FB6823CCE1A24E541



  可以看到 Ajax 请求多了个 x-requested-with ,可以利用它,request.getHeader("x-requested-with"); 为 null,则为传统同步请求,为 XMLHttpRequest,则为 Ajax 异步请求。
分享到:
评论

相关推荐

    如何从jQuery的ajax请求中删除X-Requested-With

    X-Requested-With常用于判断是不是ajax请求 但是有时我们会有需要删除X-Requested-With的情况 下面介绍一种方式 js代码 代码如下: $.ajax({ url: ‘http://www.zhangruifeng.com’, beforeSend: function( xhr ) { ...

    服务器端判断Ajax请求

    3. **其他HTTP请求头分析**:除了`X-Requested-With`外,还有其他请求头可以辅助判断。 4. **实现方法**:介绍几种常见的编程语言如何实现这一功能。 ### HTTP请求头的差异 当客户端通过Ajax发送请求时,其HTTP...

    AJAX 请求区分 $_SERVER['HTTP_X_REQUESTED_WITH'] 小解

    `$_SERVER['HTTP_X_REQUESTED_WITH']` 是一个在 PHP 中常见的用来识别 AJAX(Asynchronous JavaScript and XML)请求的变量。然而,很多人对这个变量的理解并不深入,常常将其误认为是 PHP 内置的自定义变量,而实际...

    判断请求头中是否含有某属性来判断是否是ajax请求

    例如,我们可以在`onreadystatechange`事件处理函数中使用`getAllResponseHeaders()`方法来获取所有的响应头信息,然后使用`indexOf()`方法来判断请求头中是否存在`X-Requested-With`: ```javascript xmlhttp....

    Shiro权限控制-区分Ajax请求

    在这个方法里,我们需要检查请求头部的`X-Requested-With`字段,如果是Ajax请求,则返回一个JSON响应表示权限不足;如果不是,则按照原有方式重定向到无权限页面。 #### 三、区分Ajax实现 ##### 3.1 定义一个过滤...

    完美解决跨域问题和静态资源冲突的demo(png图片)

    response.setHeader("Access-Control-Allow-Headers", "Origin,X-Requested-With,Content-Type,Accept,Authorization,token"); // System.out.println("*********************************过滤器被使用************...

    xpack破解.txt

    - **CORS允许的头**: `http.cors.allow-headers:Authorization,X-Requested-With,Content-Length,Content-Type`。指定哪些HTTP头部字段可以被客户端访问。 - **CORS允许的来源**: `http.cors.allow-origin:/.*/`。...

    ThinkPHP的success并不跳转页面,而是直接输出json字符串的原因.zip解决ThinkPHP的success并不跳转页面,而是直接输出json字符

    在JavaScript中,使用`$.ajax`或者`fetch`等方法发送异步请求时,服务器会根据请求头中的`X-Requested-With`字段来判断是否为AJAX请求。如果设置了`ajax=1`,或者在请求头中设置了`X-Requested-With: XMLHttpRequest...

    tomcat解决跨域访问问题配置

    <param-value>token,Access-Control-Allow-Origin,Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value> --> <param-value>Access-Control...

    AJAX 请求区分 $_SERVER[‘HTTP_X_REQUESTED_WITH’] 小解

    受到很多模版代码的影响,大家都以为php有这样一个自定义变量:$_SERVER[‘HTTP_X_REQUESTED_WITH’]. 其实根本不是那么回事. $_SERVER是一个包含诸如头信息(header),路径(path)和脚本位置(script locations)的数组.这...

    跨域请求解决方案

    add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Token'; // 允许的头部信息 add_...

    php判断是否为ajax请求的方法

    当然,如果使用原生JavaScript的`XMLHttpRequest`对象或`fetch` API发送Ajax请求,开发者需要手动设置`X-Requested-With`头信息,就像这样: ```javascript // 使用XMLHttpRequest var xhr = new XMLHttpRequest();...

    20180913-聚合支付API在线文档1

    - 请求头中包含了必要的HTTP头部信息,如content-type定义了数据格式,cache-control防止缓存,X-Requested-With标识请求来源。 4. **响应格式**: - 响应信息包含关键字段,如state表示通讯状态,code表示状态码...

    tomcat跨域请求配置

    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> </init-param> <init-param> <param-name>cors.exposedHeaders</param-name> <param-value>Set-Cookie</param-...

    PocCreator:GET和POST请求的POC创建者

    PocCreator GET和POST请求的POC创建者。 您只需要编辑脚本,然后选择输出文件夹,然后添加请求格式,例如Burp或Fiddler,例如本例: * ------------------------'''POST /... charset = UTF-8 X-Requested-With:X

    Nginx配置跨域请求Access-Control-Allow-Origin * 详解

    3. `Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'`:设置允许的请求头,防止因特定请求头未被服务器...

    java-property-utils-1.9.1等.zip

    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> </init-param> <init-param> <param-name>cors.exposedHeaders</param-name> <param-value>Set-Cookie</param...

    Allow-Control-Allow-Origin

    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); ``` 这将允许所有源("*")进行跨域请求,并且允许常见的HTTP请求头。对于更复杂的CORS策略,可能...

Global site tag (gtag.js) - Google Analytics