I'm having an issue I can replicate with windows 10 for a local intranet file hosting app. The site is only exposed on our internal domain, and specifically while testing, running on IIS on my PC. Site is deployed in ASP.NET, using a simple file upload via a FileUpload control and HTTPPOST.
Issue : Windows 10 CLIENTS take 8+ minutes to upload the same file a windows 7 CLIENT can upload in 40 seconds. The test file is 70mb. Both client PCs are on the same domain. I was able to replicate this on 2 windows 10 clients(slow) and 2 windows 7 clients(fast) both using chrome. Destination is a shared network drive, file is received in both cases
The code is simple, just using a file save as serverside when the post completes, the issue seems to lie in the POST itself being slow. I've included some information from the headers below from chrome. What I noticed is with the windows 10 clients, I'm seeing a request to "Switch Protocols" and then in addition a 302 response, Here are the header details for each below
What are we doing wrong?
Here is the "Switch Protocols" header only seen on windows 10 clients
Request URL: ws://localhost:63449/aa0280e0694b40f7bca6bcaa29418f4f/browserLinkSignalR/connect?transport=webSockets&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAFyOLt7H71U2FKx%2FdcXqPHQAAAAACAAAAAAADZgAAwAAAABAAAAAs2ynRNgPw8MalSlFIZY6nAAAAAASAAACgAAAAEAAAAJHm%2Br%2Fjy%2BcSLaEGVe8UoWcoAAAAMw39XfnGxZD%2B3ln4NC6jF46w3svfdryAl48W5jj380n9bvxf%2F0abLRQAAAD%2BgohVMaFYmfCOWnlTgPxHhh4ouA%3D%3D&requestUrl=http%3A%2F%24mrdx12.[domain].com%2ReqSuccess%3FID%3D100059&browserName=Chrome&userAgent=Mozilla%2F5.0+(Windows+NT+10.0%3B+Win64%3B+x64)+AppleWebKit%2F537.36+(KHTML%2C+like+Gecko)+Chrome%2F65.0.3325.146+Safari%2F537.36&tid=9
Request Method: GET
Status Code: 101 Switching Protocols
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://4mrdx12.[domain].com
Connection: Upgrade
Date: Fri, 09 Mar 2018 18:42:48 GMT
Sec-WebSocket-Accept: j/q1e0XDRuOw5KZhl22ijqq6y3g=
Server: Microsoft-HTTPAPI/2.0
Upgrade: websocket
X-Content-Type-Options: nosniff
Windows 10 Client - Headers - Submit
Request URL: http://4mrdx12.[domain].com/SubmitReq
Request Method: POST
Status Code: 200 OK
Remote Address: [removed]
Referrer Policy: no-referrer-when-downgrade
Cache-Control: private
Content-Length: 22238
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Mar 2018 18:42:46 GMT
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Content-Length: 64545954
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryJ2mFfUVn9MAwz7kh
Cookie: __AntiXsrfToken=2034bb9af99a41d685dcc6838ad46da5
Host: 4mrdx12.[domain].com
Origin: http://4mrdx12.[domain].com
Referer: http://4mrdx12.[domain].com/SubmitReq
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36
X-Requested-With: XMLHttpRequest
------WebKitFormBoundaryJ2mFfUVn9MAwz7kh
Content-Disposition: form-data; name="dlgFile"; filename="TestFile.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
------WebKitFormBoundaryJ2mFfUVn9MAwz7kh--
Windows 10 - Headers - Redirect
Request URL: http://4mrdx12.[domain].com/SubmitReq
Request Method: POST
Status Code: 302 Found
Remote Address: [removed]
Referrer Policy: no-referrer-when-downgrade
Cache-Control: private
Content-Length: 165
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Mar 2018 18:42:46 GMT
Location: /TUReqSuccess.aspx?ID=100059
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Content-Length: 64575348
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary4XoeJ8QBiQ9vypBa
Cookie: __AntiXsrfToken=2034bb9af99a41d685dcc6838ad46da5
Host: 4mrdx12.[removed].com
Origin: http://4mrdx12.[domain].com
Referer: http://4mrdx12.[domain].com/SubmitReq
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36
------WebKitFormBoundary4XoeJ8QBiQ9vypBa
Content-Disposition: form-data; name="__EVENTTARGET"
------WebKitFormBoundary4XoeJ8QBiQ9vypBa
Content-Disposition: form-data; name="__EVENTARGUMENT"
Windows 7 - Headers - Submit
Request URL: http://4mrdx12.[domain].com/SubmitReq
Request Method: POST
Status Code: 200 OK
Remote Address: [removed]
Referrer Policy: no-referrer-when-downgrade
Cache-Control: private
Content-Length: 21881
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Mar 2018 18:43:52 GMT
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Content-Length: 64545954
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarylAheeBUHfdXrokSY
Cookie: __AntiXsrfToken=beef66457cc54cbe9488fc0496042a16
Host: 4mrdx12.[domain].com
Origin: http://4mrdx12.[domain].com
Referer: http://4mrdx12.[domain].com/SubmitReq
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36
X-Requested-With: XMLHttpRequest
------WebKitFormBoundarylAheeBUHfdXrokSY
Content-Disposition: form-data; name="dlgFile"; filename="TestFile.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
------WebKitFormBoundarylAheeBUHfdXrokS
Windows 7 - Headers - HTTP 200
Request URL: http://4mrdx12.[domain].com/SubmitReq
Request Method: POST
Status Code: 200 OK
Remote Address: [removed]
Referrer Policy: no-referrer-when-downgrade
Cache-Control: private
Content-Length: 21881
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Mar 2018 18:43:52 GMT
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Content-Length: 64545954
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarylAheeBUHfdXrokSY
Cookie: __AntiXsrfToken=beef66457cc54cbe9488fc0496042a16
Host: 4mrdx12.[removed].com
Origin: http://4mrdx12.[domain].com
Referer: http://4mrdx12.[domain].com/SubmitReq
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36
X-Requested-With: XMLHttpRequest
------WebKitFormBoundarylAheeBUHfdXrokSY
Content-Disposition: form-data; name="dlgFile"; filename="TestFile.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Windows 7 - Headers - Redirect
Request URL: http://4mrdx12.[domain].com/TUReqSuccess.aspx?ID=100060
Request Method: GET
Status Code: 301 Moved Permanently
Remote Address: [removed]
Referrer Policy: no-referrer-when-downgrade
Content-Length: 160
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Mar 2018 18:43:52 GMT
Location: /TUReqSuccess?ID=100060
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Cookie: __AntiXsrfToken=beef66457cc54cbe9488fc0496042a16
Host: 4mrdx12.[domain].com
Referer: http://4mrdx12.[domain].com/SubmitReq
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36
ID: 100060