def is_not_modified(<EOL>self, response_headers: Headers, request_headers: Headers<EOL>) -> bool:
try:<EOL><INDENT>if_none_match = request_headers["<STR_LIT>"]<EOL>etag = response_headers["<STR_LIT>"]<EOL>if if_none_match == etag:<EOL><INDENT>return True<EOL><DEDENT><DEDENT>except KeyError:<EOL><INDENT>pass<EOL><DEDENT>try:<EOL><INDENT>if_modified_since = parsedate(request_headers["<STR_LIT>"])<EOL>last_modified = parsedate(response_headers["<STR_LIT>"])<EOL>if (<EOL>if_modified_since is not None<EOL>and last_modified is not None<EOL>and if_modified_since >= last_modified<EOL>):<EOL><INDENT>return True<EOL><DEDENT><DEDENT>except KeyError:<EOL><INDENT>pass<EOL><DEDENT>return False<EOL>
Given the request and response headers, return `True` if an HTTP
"Not Modified" response could be returned instead.