url - 浏览器可以自动更正 “mangled url”吗?

标签 url browser error-handling sanity-check

一段时间以前,我在特定网站上遇到了问题。它提供了许多到其他站点的超链接。例如这样的URL之一是:

http://http//example.com/a9noaa.asp

这显然是不正确的(http出现两次)URL,因此,单击它时会出现页面错误,例如“找不到地址”。

但是,当一个人复制链接位置并将其粘贴到浏览器的位置栏中时,它会正确加载该新页面。因此,这是在超链接中提及错误网址的问题。

是否可以使浏览器检查所访问URL的基本完整性,例如检查:
  • 单词http仅出现一次,
  • 输入正确的冒号
  • URL开头的异常字符
  • 正确地存在双反冲,等等。

  • 还是在地址栏中键入URL并自动更正其中的错误?

    可以使用任何客户端代码来使Internet浏览器实现此功能吗?可能吗?

    还是已经有流行浏览器(Firefox,IE)的插件可以实现此目的?

    谢谢。

    -广告。

    最佳答案

    首先,http://http//example.com/a9noaa.asp是有效的URI,以http作为方案,第二个http作为主机名,//example.com/a9noaa.asp作为路径。因此,如果它不是无效的,则浏览器无需更正它。

    现在,让我们看一下位置栏。如果输入的位置无效,大多数用户友好的浏览器都会进行一些错误纠正。纠正措施之一是在字符串前面加上http://(如果不存在)。因此,您只需键入example.com即可请求http://example.com
    另一个更正措施是在输入的字符串前后添加http://www..com来完成未知的主机名。因此,您只需要键入example,按回车即可请求http://www.example.com

    但是,特别是在超链接中,位置栏之外的任何错误纠正都可能至关重要。例如:访客在访客簿条目中输入其网站URI,但是省略了http://。现在在超链接中使用了该值,但是缺少的http://没有前缀。因此,链接可能如下所示:

    <a href="example.com">Website</a>
    

    如果您点击这样的链接,该链接的相对URI将以当前文档的URI为基础解析为绝对URI。因此,链接可能会扩展为http://some.example/guestbook/example.com。谁没有经历过?

    但是更正浏览器中缺少的http://是致命的。因为身份验证者可能打算引用http://some.example/guestbook/example.com而不是浏览器期望的http://example.com

    因此,请进行总结:在缺少某些内容(例如http://)的情况下,更正用户的位置栏输入。但是并不是在每个链接上都这样做。

    关于url - 浏览器可以自动更正 “mangled url”吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1082104/

    相关文章:

    java - 如何查询 servlet 容器以从 ServletContextListener 获取有效 URL?

    python - 使用 Python 请求库构建 URL

    c# - 如何用C#设置默认浏览器主页(IE)?

    python - 在架构 'required' 中验证 ['properties' 失败] ['rasa_nlu_data' ] ['properties' ] ['common_examples' ] ['items' ] ['properties' ] ['entities' 1010 ] 0x1010456767

    java - 将文本文件中的行存储在 java 数组中

    php - 使用 htaccess 用斜杠重写 url

    javascript - 在 url 上运行 JavaScript 函数? google.com?javascript :(func())

    delphi - 如何在 Delphi 中的 WebBrowser 组件上绘制内容

    android 浏览器位置栏不会因 fragment 更改而更新

    ruby-on-rails - Rails 通过路由出现自定义错误 - 读取原始请求的 URL