'Performs a very simple check to verify if this response is a 404 or not.
It takes the original URL and modifies it by pre-pending a "not-" to the
filename, then performs a request to that URL and compares the original
response with the modified one. If they are equal then the original
request is a 404.
:param http_response: The original HTTP response
:param clean_resp_body: The original HTML body you could find in
http_response after passing it by a cleaner
:return: True if the original response was a 404 !'

def _is_404_with_extra_request(self, http_response, clean_resp_body):

    response_url = http_response.get_url()
    filename = response_url.get_file_name()
    if (not filename):
        relative_url = ('../%s/' % rand_alnum(8))
        url_404 = response_url.url_join(relative_url)
    else:
        relative_url = self._generate_404_filename(filename)
        url_404 = response_url.copy()
        url_404.set_file_name(relative_url)
    response_404 = self._send_404(url_404)
    clean_response_404_body = get_clean_body(response_404)
    path_extension = (url_404.get_domain_path(), url_404.get_extension())
    if ((response_404.get_code() == 404) and (path_extension not in self._directory_uses_404_codes)):
        self._directory_uses_404_codes.add(path_extension)
    return fuzzy_equal(clean_response_404_body, clean_resp_body, IS_EQUAL_RATIO)
