<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def explore_show_head(self, uri, check_headers=None):
 """Do HEAD on uri and show infomation. Will also check headers against any values specified in check_headers. """

        print("HEAD %s" % (uri))
        if (re.match(r'^\w+:', uri)):
            # Looks like a URI
            response = requests.head(uri)
        else:
            # Mock up response if we have a local file
            response = self.head_on_file(uri)
        print("  status: %s" % (response.status_code))
        if (response.status_code == '200'):
            # print some of the headers
            for header in ['content-length', 'last-modified',
                           'lastmod', 'content-type', 'etag']:
                if header in response.headers:
                    check_str = ''
                    if (check_headers is not None and
                            header in check_headers):
                        if (response.headers[header] == check_headers[header]):
                            check_str = ' MATCHES EXPECTED VALUE'
                        else:
                            check_str = ' EXPECTED %s' % (
                                check_headers[header])
                    print(
                        "  %s: %s%s" %
                        (header, response.headers[header], check_str))