url的组成部分
主要有:协议,域名,路径,查询参数,锚点
协议
http协议和https协议
http协议默认端口好80
https协议默认端口号443
域名
- 每个域名都对应一个ip(internet protocol网络协议)
- 每个上网的设备都有一个独立的ip
- ip分为内网ip和外网ip
- 域名是相对网站来说的
- ip是相对于网络来说的
- 通过DNS(域名系统Domain Name System)将域名解析成ip地址
当你在Chrome输入一个http://www.baidu.com时
- Chrome会向电信或者联通提供的DNS服务器发出询问,请求http://baidu.com对应的ip
- DNS将http://baid.com解析出对应的ip回复给Chrome
- Chrome会向得到的ip对应的80/443端口发出查看http://baidu.com首页的请求
端口
默认端口是80,不显示
一台服务器可以提供多个服务,每个服务都有一个不同的端口
- 80端口表示http服务
- 443端口表示https服务
- 21端口表示FTP(file transfer protocol)服务
- htto-server使用的默认端口是8080
- 总共有65535个端口
- http://192.168.xxx.xxx表示内网ip
- 127.0.0.1表示本机,默认域名为localhost
补充:同源
协议/端口/域名都一致的两个url则为同源
http://store.company.com/dir/page.html
和 http://store.company.com/dir2/other.html 同源,端口默认是80,只是路径不同- http://store.company.com/dir/page.html和https://store.company.com/secure.html不同源,因为协议不同
- http://store.company.com/dir/page.html和http://store.company.com:81/dir/etc.html不同源,因为http默认端口为80,后面的url端口是81,端口不同
路径
在同一浏览器上请求不同的网页则可以通过修改路径实现
查询参数
请求同一页面上的不同内容时,可以通过修改查询参数实现
锚点
锚点不支持中文,会将中文进行编码
锚点不会经过服务器,是本地内容,因为服务器不会阅读#后面的内容,读不到锚点