I have very strange situation, while developing my web-app. ONLY IF typing url address by myself (not pasting, not clicking link) browser loads destination url twice. Using Google Chrome browser UA (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36) nginx log with custom php error message with $_SERVER['REQUEST_TIME_FLOAT'] variable: ============================================= 2018/08/07 01:20:45 [error] 23861#23861: *62965279 FastCGI sent in stderr: "PHP message: +++++)_1533594045.681_(++++" while reading respo nse header from upstream, client: 213.170.70.199, server: admin.smi.dev.parohod.biz, request: "GET /tags/groups/manage/ HTTP/1.1", upstre am: "fastcgi://unix:/run/php/php7.1-fpm.sock:", host: "admin.smi.dev.parohod.biz" 2018/08/07 01:20:45 [error] 23861#23861: *62965279 FastCGI sent in stderr: "PHP message: +++++)_1533594045.8943_(++++" while reading resp onse header from upstream, client: 213.170.70.199, server: admin.smi.dev.parohod.biz, request: "GET /tags/groups/manage/ HTTP/1.1", upstr eam: "fastcgi://unix:/run/php/php7.1-fpm.sock:", host: "admin.smi.dev.parohod.biz" ============================================= but request for first time sent to server without GET params (REQUEST_URI variable doesn't content any ?foo=bar), executed and than sent second time as expected (with GET params) one more time. I typed URL /tags/groups/manage/?foo=bar Pressed enter (once) and here more nginx log (with my comments between ###) ============================================= ### this is processed request without ?foo=bar ### 2018/08/07 02:19:47 [error] 24159#24159: *62985029 FastCGI sent in stderr: "PHP message: REQUEST_TIME_FLOAT: 1533597587.0024 PHP message: REQUEST_URI: /tags/groups/manage/" while reading response header from upstream, client: 213.170.70.199, server: admin.smi.dev.parohod.biz, request: "GET /tags/groups/manage/ HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.1-fpm.sock:", host: "admin.smi.dev.parohod.biz" ### this is processed original request as expected, with GET vars ### 2018/08/07 02:19:48 [error] 24159#24159: *62985029 FastCGI sent in stderr: "PHP message: REQUEST_TIME_FLOAT: 1533597587.9976 PHP message: REQUEST_URI: /tags/groups/manage/?foo=bar" while reading response header from upstream, client: 213.170.70.199, server: admin.smi.dev.parohod.biz, request: "GET /tags/groups/manage/?foo=bar HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.1-fpm.sock:", host: "admin.smi.dev.parohod.biz" ============================================= it is looks like error in my app logic, but I think it's not true, I spent for 5 hours debugging and it's not my bug.. I repeated this behavior in Yandex.Browser (18.6.1.768 (64-bit)), Safari (Version 11.1.2 (13605.3.8)) and it works same, BUT in firefox (61.0.1 (64-bit)) same page works perfect!
Loading while typing a URL is intentional prefetching. Obviously, a second load seems unexpected, as the prefetched page should be used - and it also seems unexpected that the parameters get omitted in prefetch. However, prefetching is implemented in Safari, not in WebKit. Please file a bug for Safari via https://bugreport.apple.com for Apple engineers to take a look.