结构
一句话表达
<scheme>://<user>:<psw>@<host>:<port>/<path>;<params>?<query>#<fragment>
scheme:方案如http,ftp用来表达使用什么协议
user:用户名
psw:密码
host:域名或ip地址
port:端口号,一般情况下会有默认端口号
path:要访问文件的路径。如bin/index.html
params:请求参数
query:查询参数
fragment:片段,其实就是把整个报文先拿下来,然后根据这个片段来显示一小部分而已
方便的URL
如果我们每次浏览一个指定的网站还要按上述格式原封不动的输入url就太麻烦了,所以为了我们用户能够快速的浏览指定的url,有一些简便的url写法,缺失的部分由客户端(浏览器)自己去补充。这里主要讲相对url和自动扩展url两种方式
如果我们知道资源路径我们可以尝试用相对url去访问
客户端会自动将这个相对url转换成绝对url,方法是客户端根据某种方式去获取这个资源的基础url然后再用一个算法转换即可
自动扩展url
1.客户端可以根据你输入的站点名来自动补充,比如输入baidu,浏览器会自动帮你补充方案http和www,com等缺失的域名。
2.客户端可以根据你的历史浏览记录来自动补充完整的url,这个就没好说的了,这不是经常的操作吗。
其他
因为url是可移植的,意味了只要写一串url你就可以通过不同的方案来访问不同的东西,如常用的http,ftp等,还有一些古老级别的协议。往往为了兼容,url会避免一些字符的出现,因为某些协议可能对特定的字符特别敏感,敏感的要去掉。所以为了兼容这部分的协议,url应该避开或采用转义的操作来处理部分字符。这种转义是用% + 两个表示ASCII码的十六进制表示。可查表。
这是一个很简洁的系列....
网友评论