code: def url_signature(url: str) -> Optional[Tuple]:
      
      request = urllib.request.Request(url)
      request.get_method = lambda: 'HEAD'
      response = None
      try:
          response = urllib.request.urlopen(request)
      except urllib.error.HTTPError:
          return None
      return response.info()['Last-Modified'], response.info()['Content-Length'], response.info().get('ETag')
docs: Return an identify signature for url
      :param url: item to get signature for
      :return: tuple containing last modified, length and, if present, etag