title: How can I prevent unnecessary data transfer in WebApi?
body: <p>I've got a situation where I have a WebApi endpoint that my page polls for data every minute or so. Each poll returns about 10KB of data, and I've realized that in many cases the data doesn't change from the previous poll, but it still eats up the bandwidth sending back the results.</p>
  
  <p>So I'm wondering if there's a standard way to have WebApi determine that the results haven't changed AND to signal the browser that this is the case. </p>
  
  <p>Because the endpoints are stateless, how could an endpoint know what the previous state was? </p>
  
  <p>And how should it signal the client that this is the case? In most situations, I return a strongly typed object (like <code>List&lt;T&gt;</code>), so I can't instead return some other <code>UseCachedVersion</code> kind of object. I could return null, but that isn't as descriptive as I would like.</p>
  
  <p>Are there any standard practices for this situation?</p>