Postman 7.19.1 (Mac OS) appears to have a bug related to Keep Alive connections that share the same domain name, but different ports. Example:
http://localhost:8000/public
http://localhost:8001/admin
When I send a GET request to one of these endpoints via Postman, everything works fine. However, when I try to interleave GET requests to both endpoints, I receive a successful response from whichever one I hit first, and a 404 from the other. If I wait 75 seconds, then I can successfully hit the second endpoint (but the the first endpoint returns 404 until I wait another 75 seconds). If I add a “Connection: close” header to both requests, then the problem does not occur – I can interleave calls without waiting 75 seconds. Also, if I use curl to run the same requests (generated by Postman), the problem does not occur.
I also noticed that the request that Postman sends to localhost:8001 that returns the 404 response shows up in my server logs as localhost:8000 even though it says localhost:8001 in the Postman console.
Conclusion: I suspect that Postman is maintaining a connection pool for keep alive connections and incorrectly reusing connections for the same host but different ports. It should match both host and port before allowing connection reuse.