I have a report in Excel. It contains hyperlinks. If I click on a hyperlink then our old management system opens the relevant page. Our new system, built on Laravel 5.3, sends the user to the login page and then to the home page. This is annoying.
If I look at the web traffic I see:
192.168.99.1 - - [05/Jan/2017:10:47:33 +0000] "HEAD /ticket/44 HTTP/1.1" 302 0 "-" "Microsoft Office Excel 2013"
192.168.99.1 - - [05/Jan/2017:10:47:34 +0000] "HEAD /auth/login HTTP/1.1" 200 0 "-" "Microsoft Office Excel 2013"
192.168.99.1 - - [05/Jan/2017:10:47:34 +0000] "GET /ticket/44 HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; ms-office)"
192.168.99.1 - - [05/Jan/2017:10:47:35 +0000] "GET /auth/login HTTP/1.1" 200 5990 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; ms-office)"
192.168.99.1 - - [05/Jan/2017:10:47:36 +0000] "GET /auth/login HTTP/1.1" 302 356 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"
192.168.99.1 - - [05/Jan/2017:10:47:38 +0000] "GET /home HTTP/1.1" 200 36843 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"
/ticket/44 is a valid uri - I can copy it out of Excel by hand, paste it into the address bar and the correct page opens. Do it from Excel and it fails authentication and redirects to the home page.
You will notice that Excel (quite rightly) generates HEAD requests, not GET ones; however this shouldn't make a difference on a straight page load.
So why does the Excel HEAD request fail authentication and take me to the home page while a standard GET request loads the page?
Update in response to question:
It looks like it's being put through three handlers - excel (steps 1-2), ms-office (steps 3-4) and finally chrome (steps (5-6). By which time it's lost its data. So the question becomes what is that middle step?