      """
      return '"%s"' % etag.replace('\\', '\\\\').replace('"', '\\"')
  
  
  def is_same_domain(host, pattern):
      """
      Return ``True`` if the host is either an exact match or a match
      to the wildcard pattern.
 
</s> remove from django.utils.http import http_date, parse_http_date_safe
 </s> add from django.utils.http import http_date, parse_http_date_safe, unquote_etag </s> remove                     # get_conditional_response() requires an unquoted version
                    # of the response's ETag.
                    etag=response['ETag'].strip('"'),
 </s> add                     etag=unquote_etag(response['ETag']), </s> remove * ...
 </s> add * Fixed a regression in ``ConditionalGetMiddleware`` causing ``If-None-Match`` checks
  to always return HTTP 200 (:ticket:`26024`). </s> remove                 etag=etag,
 </s> add                 etag=unquote_etag(etag), </s> remove         quoted_etag = http.quote_etag(r'e\t"ag')
 </s> add         original_etag = r'e\t"ag'
        quoted_etag = http.quote_etag(original_etag)
def unquote_etag(etag):
    """
    Unquote an ETag string; i.e. revert quote_etag().
    """
    return etag.strip('"').replace('\\"', '"').replace('\\\\', '\\') if etag else etag


      """
      return '"%s"' % etag.replace('\\', '\\\\').replace('"', '\\"')
  
  
def unquote_etag(etag):
    """
    Unquote an ETag string; i.e. revert quote_etag().
    """
    return etag.strip('"').replace('\\"', '"').replace('\\\\', '\\') if etag else etag


  def is_same_domain(host, pattern):
      """
      Return ``True`` if the host is either an exact match or a match
      to the wildcard pattern.
keep keep keep add keep keep keep keep
 Fixed #26024 -- Fixed regression in ConditionalGetMiddleware ETag support.

Thanks Denis Cornehl for help with the patch. 
django/utils/http.py