zoukankan      html  css  js  c++  java
  • 360浏览器和猎豹浏览器重定向后丢失get参数

    1.场景:

    step1: 用户请求项目 http://localhost:8080/myProject

    step2: 我们的服务器将请求重定向到一个静态页面,并拼接上部分参数,如:

      

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML>
    <html>
      <head>
      </head>
      <body>
        <%
            response.sendRedirect(request.getContextPath() + "/myPage.html?params=UAleQlsJEQkaEhkFGh0TBRoZEwUcEwkHCV5GSkgJEQlpExsTbxxoE2oZHRMJBwlbSERPTgkRCRofGhoZHBkaEhsbGxsaCQcJT0JPCREJSh9NSRNPGx5PHBwSGxsbGxsbCQcJQlhJSlkJEQllCQcJXU5ZZV5GCREJGQUbBR0FGh0aGhocCVY=");
        %>
      </body>
    </html>

    step3:将请求连同参数引导的指定的地址

    2. 问题:

    猎豹浏览器 和 360绿色浏览器(手机版,右下角有个小叉叉的)多次请求会丢失params参数

    3.问题排查

    猎豹浏览器经过多次测试,发现只要清除缓存并且重新打开浏览器,或者第一次访问的时候都是可以正确获取到参数的

    于是我猜测,可能是浏览器对相同的请求做了某些处理,于是我们在重定向的地方做了下面的更改,

    给请求添加一个时间戳,保证每次请求都是不一样的

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML>
    <html>
      <head>
      </head>
      <body>
        <%
            long timStr = System.currentTimeMillis();
            response.sendRedirect(request.getContextPath() + "/myPage.html?params=UAleQlsJEQkaEhkFGh0TBRoZEwUcEwkHCV5GSkgJEQlpExsTbxxoE2oZHRMJBwlbSERPTgkRCRofGhoZHBkaEhsbGxsaCQcJT0JPCREJSh9NSRNPGx5PHBwSGxsbGxsbCQcJQlhJSlkJEQllCQcJXU5ZZV5GCREJGQUbBR0FGh0aGhocCVY=&timeToken="+timStr);
        %>
      </body>
    </html>

     经过测试,这样修改的确解决了猎豹浏览器的参数丢失的问题,但是360绿色浏览器(手机版,右下角有个小叉叉的)还是会出现参数丢失的问题

    目前还没有找到360的原因,路过的童鞋如果也遇到过类似问题,或者如果有好的思路,希望留下你们宝贵的建议

     更正,今天发现,这款绿色浏览器并非360浏览器,虽然图标很像,但是发布人并不是某某公司,浪费了几天时间,不过终归是有所收获的

  • 相关阅读:
    在Eclipse中指定JDK
    VMware桥接模式下主机和和虚机间互相ping不通的处理方法
    CentOS7系列--10.1CentOS7中的GNOME桌面环境
    CentOS7系列--5.3CentOS7中配置和管理Kubernetes
    CentOS7系列--5.2CentOS7中配置和管理Docker
    CentOS7系列--5.1CentOS7中配置和管理KVM
    CentOS7系列--4.1CentOS7中配置DNS服务
    CentOS7系列--3.2CentOS7中配置iSCSI服务
    移动web开发(一)——移动web开发必备知识
    文章索引
  • 原文地址:https://www.cnblogs.com/qianna-daisy/p/6485526.html
Copyright © 2011-2022 走看看