单次请求 chrome 会触发两次 不得其解 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mitoop
V2EX    问与答

单次请求 chrome 会触发两次 不得其解

  •  
  •   mitoop 2017-02-24 22:17:14 +08:00 7767 次点击
    这是一个创建于 3201 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 调试程序时候,请求一个方法,但是日志里记录总会打印两次 直接在控制器里做日志然后返回 依然如此。语言是 PHP.

    • stackoverflow 类似问题: stackoverflow 传送门

    • 但是我的很明显不是 icon 或者 src=""这样的问题 因为调试时候 直接就返回 不加载这些,插件的原因也尝试了,无痕模式依然如此,在 Safari 和 Firefox 下是正常的。很奇怪。求赐教

    26 条回复    2018-04-03 16:58:28 +08:00
    mitoop
        1
    mitoop  
    OP
       2017-02-24 22:22:12 +08:00
    求不沉
    qgy18
        2
    qgy18  
       2017-02-24 23:20:06 +08:00 via iPhone
    禁用所有扩展再试试呢?
    indooorsman
        3
    indooorsman  
       2017-02-24 23:36:01 +08:00 via Android
    贴代码和调试截图啊………
    hxsf
        4
    hxsf  
       2017-02-24 23:37:52 +08:00
    页面预加载功能导致的 ? 看看其他页面是不是也被请求了
    nfroot
        5
    nfroot  
       2017-02-24 23:38:22 +08:00
    之前在 cnblogs 也看到这个问题了,是浏览器 BUG
    nfroot
        6
    nfroot  
       2017-02-24 23:39:24 +08:00
    忘记说了,这样的问题出在 30X 状态码的页面(会 2 次访问这个 URL ,尽管 30X 指向的 URL 是其他地址)
    nfroot
        7
    nfroot  
       2017-02-24 23:40:40 +08:00
    随手搜了一下 就是这个了

    http://www.cnblogs.com/lyzg/p/6237841.html
    xiaoz
        8
    xiaoz  
       2017-02-25 00:03:59 +08:00 via iPhone
    是不是你鼠标坏了?
    mitoop
        9
    mitoop  
    OP
       2017-02-25 01:19:52 +08:00
    @qgy18 3Q Jerry Qu 尝试过了 在同事电脑也试了下 目测 chrome 要背这个锅
    mitoop
        10
    mitoop  
    OP
       2017-02-25 01:21:21 +08:00
    @indooorsman 好吧 这个似乎不用贴截图吧 因为问题症状很明朗啊
    mitoop
        11
    mitoop  
    OP
       2017-02-25 01:22:22 +08:00
    @hxsf 3Q 之前有看到这个说法 不是很明白
    mitoop
        12
    mitoop  
    OP
       2017-02-25 01:27:35 +08:00
    mitoop
        13
    mitoop  
    OP
       2017-02-25 01:29:07 +08:00
    @xiaoz Big 黑色脸.jpg 这种错误不会的。
    Felldeadbird
        15
    Felldeadbird  
       2017-02-25 07:11:14 +08:00 via iPhone
    试下在源码默认访问页面看看是否触发 2 次访问。不知道源码默认是什么?当前页面 ctrl + u
    一般这个现象可能是 伪静态没区分好 不存在的资源。浏览器在资源不存在时直接访问了程序。正确的应该是返回 404 状态。
    Felldeadbird
        16
    Felldeadbird  
       2017-02-25 07:11:51 +08:00 via iPhone
    源码模式…不是源码默认。手机输入法打错了
    solarsolo
        17
    solarsolo  
       2017-02-25 12:28:45 +08:00 via iPad
    我记得开 f12 的网络调试就会发两次,貌似在某个版本修复了
    loy6491
        18
    loy6491  
       2017-02-25 13:21:11 +08:00 via iPhone
    是在地址栏输入地址了吗, chrome 会提前请求一次以加快访问速度。这个做 web 应该都知道吧,不知道你是不是这个问题
    mitoop
        19
    mitoop  
    OP
       2017-02-27 13:22:36 +08:00
    @Felldeadbird 直接访问的 action 没有到伪静态那一步 我晚上再试试
    mitoop
        20
    mitoop  
    OP
       2017-02-27 13:23:05 +08:00
    @solarsolo 试了下 关闭调试 还是两次
    mitoop
        21
    mitoop  
    OP
       2017-02-27 13:23:25 +08:00
    @loy6491 地址 在地址栏里 就手动刷新一下
    loy6491
        22
    loy6491  
       2017-02-27 13:31:14 +08:00
    @mitoop 快捷键刷新( F5 或 R )会请求两次么
    mitoop
        23
    mitoop  
    OP
       2017-02-27 17:20:36 +08:00
    @Felldeadbird @hxsf @indooorsman @loy6491 @nfroot @qgy18 @solarsolo @xiaoz 问题还是 favicon.ico 的事 即使没有加载到页面 chrome 还会去请求 favicon.ico 文件 导致两次记录的问题 本地加了 favicon.ico 这个文件 正常了
    mitoop
        24
    mitoop  
    OP
       2017-02-27 17:21:46 +08:00
    之前粗心了 以为直接到 action 不会去请求 favicon.ico 文件 network 下是有的 只有 chrome 会有这种情况 Safari 和 Firefox 不会。
    sn01615
        25
    sn01615  
       2017-12-10 20:43:17 +08:00
    是返回的数据长度太小了~
    zohner
        26
    zohner  
       2018-04-03 16:58:28 +08:00
    百度搜到这个帖,楼主解决了么,我今天也遇到这个问题,很简单的代码
    ```
    app.get('/webhooks', function(req, res){
    console.log('d')
    res.header('Cache-Control', 'no-cache, no-store, must-revalidate'); // HTTP 1.1
    res.header('Pragma', 'no-cache') // HTTP 1.0
    res.header('Expires', '0'); // Proxies
    res.send("deploy finish")
    })
    ```
    在 chrome 刷新页面都会执行两次,在 firefox 就正常
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1057 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 23:40 PVG 07:40 LAX 15:40 JFK 18:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86