pythonでos.pathというとても便利なクラスがあるのですが、絶対パスと相対パスを結合する時に、
# abs_path = "/usr/hoge/", rel_path = "./poyo/"
path.normpath(path.join(abs_path, rel_path))
# "/usr/hoge/poyo"
とよくやります。これ、urlでも使えるなーと思い、
# abs_path = "http://hoge/", rel_path = "./poyo/"
path.normpath(path.join(abs_url, rel_url)
# "http:/hoge/poyo/"
としていたら、urlが開けないと怒られました。それでちょっと悩んだ訳ですが、理由は簡単で "http://hoge/" というurlが path.normpath で "http:/hoge" に変換されていたんですね。pathはファイルシステムのパスのためのクラスなので、こういう仕様になっていたわけです。
urlの結合には urlparseクラスのurljoinメソッドを使うそうです。
# abs_path = "http://hoge/", rel_path = "./poyo/"
urlparse.urljoin(abs_url, rel_url)
# "http://hoge/poyo/"