A good way to check if site 304 is returning is to use google chromes dev tools. For example. below is an annotated example of using chrome on bls website. Keep updating, and you will see that the server continues to return 304. If you force update using Ctrl + F5 (windows), you will see that instead it returns a status code of 200.
You can use this technique in your own example to find out if the server returned 304 or if you formatted your request headers incorrectly. Sometimes a web page has a resource imported to it that does not respect If headers, and therefore it returns 200, what do you do (if any resource on the page does not return 304, the whole page will return 200), but sometimes you are only looking to a specific part of the website, and you can cheat by downloading the resource directly and bypassing the entire document.

phil_20686
source share