在服务器端判断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 异步请求。

x-requested-with 请求头 区分ajax请求还是普通请求相关推荐

  1. 关于 x-requested-with 请求头 区分ajax请求还是普通请求

    今天做Spring MVC异常统一处理这块,在处理的时候需要区分发送过来的请求是传统请求还是ajax请求,网上有现成的代码,我是参考http://www.2cto.com/kf/201412/3643 ...

  2. x-requested-with 请求头 区分ajax请求还是普通请求

    在服务器端判断request来自Ajax请求(异步)还是传统请求(同步): 两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数 1.传统同步请求参数 accept  t ...

  3. 爬虫实战学习笔记_6 网络请求request模块:基本请求方式+设置请求头+获取cookies+模拟登陆+会话请求+验证请求+上传文件+超时异常

    1 requests requests是Python中实现HTTP请求的一种方式,requests是第三方模块,该模块在实现HTTP请求时要比urlib.urllib3模块简化很多,操作更加人性化. ...

  4. python 请求头_Python爬虫:将headers请求头字符串转为字典

    第一种方法 如上图所示,然后复制粘贴到pycharm里,存放到字典里 然后使用ctrl+r快捷键打开替换功能,并勾选Regex 替换源为:(.?): (.?)$ 替换为:"$1": ...

  5. ajax请求,请求头是provisional are shown。请求未发送出去

    问题: ajax请求,请求没成功.ajax请求没有发送出去. 查看network,看到请求头处:Provisional headers are shown. 原因: 搜索了一下,网上说了几个原因. 1 ...

  6. ios 请求头设置token_HTTP中的OPTIONS请求

    前言 http请求之前已经接触了很多,但是这个options请求我还是第一次,刚来到公司的时候进行调试,发现NetWork里,每个请求在发出之前都会先发送一个options请求,第二个才是正常的请求. ...

  7. ajax 跨域请求数据,JQuery Ajax执行跨域请求数据的解决方案

    JQuery Ajax执行跨域请求数据的解决方案 今天前端因为需要ajax调用两个不同的项目,请求域不一样,所以涉及ajax跨域的问题 ,其实很简单,具体如下 原来的ajax请求如下: $.ajax( ...

  8. vue拦截器设置请求头失败,laravel设置前端请求头跨域

    前端同事在vue的request里面的拦截器中设置请求头,发现'Authorization'可以正常添加到请求头,可以正常访问,但是添加其他的如'browserVersion'参数就不行, 会出现Re ...

  9. 请求消息详解(请求头、get、post、请求体)

    简述 我们在servlet的service方法中有两个参数,分别是ServletRequest和ServletResponse,如果想掌握这两个参数,我们必须对请求消息和响应消息有个深入的理解. 请求 ...

最新文章

  1. Python Qt GUI设计:QTabWidget、QStackedWidget和QDockWidget容器控件类(提升篇—2)
  2. hdu2716水水哈希
  3. PHP Warning: Xdebug MUST be loaded as a Zend extension
  4. Nginx 笔记与总结(11)Nginx + php-fpm + MySQL 安装 ecshop
  5. c语言中把一个数缩小十倍_小学数学易错点:一个数缩小10倍?缩小到它的十分之一?哪个正确?...
  6. springboot 打印slf4_SpringBoot里slf4j日志功能的默认实现
  7. PyTorch系列入门到精通——GPU的使用
  8. 用C语言解决狼羊白菜过河的思路,基于visual Studio2013解决C语言竞赛题之1079狼羊过河...
  9. p坚持csma协议 仿真‘_巧家快速推进移民生产安置人口界定和协议签订工作
  10. 使用@Transactional(SUPPORTS)和不加@Transactional 有什么区别?
  11. 计算机专业电脑配置,计算机专业的学生在租电脑时如何选择电脑配置?
  12. Selenium2用最简xpath查找元素
  13. SQL优化工具SQLAdvisor使用
  14. 6.python输入整数年份,判断对应整数年份是否为闰年并输出结果
  15. 人工智能学习资料之2021图灵大会笔记
  16. 使用云服务器实现共享文件,使用云服务器实现共享文件
  17. Axure 初学者必看:自学 Axure 需要花多长时间?
  18. 9-vulnhub靶机-Tr0ll-ssh-rsa-private-环境变量-缓冲区溢出提权
  19. 幻核退出 “数字藏品有何用”阶段性无解
  20. 达梦物化视图概念及简单示例

热门文章

  1. 操作系统之I/O管理:2、I/O软件层次结构
  2. (王道408考研数据结构)第一章绪论-第二节2:算法的时间复杂度和空间复杂度
  3. (计算机组成原理)第二章数据的表示和运算-第三节3:浮点数加减运算
  4. 2-3:C++快速入门之缺省参数
  5. USACO-Section2.1 Sorting a Three-Valued Sequence(排序)
  6. pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail
  7. Kali中firefox浏览器设置中文
  8. C/C++语言以某符号分割字符串
  9. 排序算法:冒泡排序算法优化实现及分析
  10. MyBatis3系列__05查询补充resultMap与resultType区别