  class ConditionalGetMiddleware(MiddlewareMixin):
      """
      Handles conditional GET operations. If the response has an ETag or
      Last-Modified header, and the request has If-None-Match or
      If-Modified-Since, the response is replaced by an HttpNotModified.
  
      Also sets the Date and Content-Length response-headers.
      """
      def process_response(self, request, response):
          response['Date'] = http_date()
 
</s> remove Handles conditional GET operations. If the response has a ``ETag`` or
 </s> add Handles conditional GET operations. If the response doesn't have an ``ETag``
header, the middleware adds one if needed. If the response has a ``ETag`` or </s> remove           appropriately.
 </s> add           appropriately. USE_ETAGS is deprecated in favor of
          ConditionalGetMiddleware. </s> remove or you can rely on the :class:`~django.middleware.common.CommonMiddleware`
 </s> add or you can rely on the :class:`~django.middleware.http.ConditionalGetMiddleware`
    If-Modified-Since, the response is replaced by an HttpNotModified. An ETag
    header is added if needed.
  class ConditionalGetMiddleware(MiddlewareMixin):
      """
      Handles conditional GET operations. If the response has an ETag or
      Last-Modified header, and the request has If-None-Match or
    If-Modified-Since, the response is replaced by an HttpNotModified. An ETag
    header is added if needed.
  
      Also sets the Date and Content-Length response-headers.
      """
      def process_response(self, request, response):
          response['Date'] = http_date()
keep keep keep keep replace keep keep keep keep keep
 Fixed #26447 -- Deprecated settings.USE_ETAGS in favor of ConditionalGetMiddleware. 
django/middleware/http.py