'Check if the header names are common or not
:param request: The HTTP request object.
:param response: The HTTP response object
:return: None, all results are saved in the kb.'

def grep(self, request, response):

    self._content_location_not_300(request, response)
    for header_name in response.get_headers().keys():
        if (header_name.upper() in self.COMMON_HEADERS):
            continue
        hvalue = response.get_headers()[header_name]
        desc = 'The    remote    web    server    sent    the    HTTP    header:    "%s"    with    value:    "%s",    which    is    quite    uncommon    and    requires    manual    analysis.'
        desc = (desc % (header_name, hvalue))
        i = Info('Strange    header', desc, response.id, self.get_name())
        i.add_to_highlight(hvalue, header_name)
        i.set_url(response.get_url())
        i[StrangeHeaderInfoSet.ITAG] = header_name
        i['header_value'] = hvalue
        self.kb_append_uniq_group(self, 'strange_headers', i, group_klass=StrangeHeaderInfoSet)
