URL解析
传输协议:http / https / ftp …
- HTTP超文本传输协议:{除了传输文本「例如:字符串…」还可以传输其余的信息「例如:文件流、二进制或者Buffer格式再或者BASE64格式的数据…」}
- HTTPS=HTTP+SSL 更加安全的HTTP:【证书认证】传输的内容经过加密处理},一般涉及支付类的产品都采用这种协议
FTP文件传输协议:一般用于直接基于一些FTP工具「例如:filezilla…」,把开发的文件部署到服务器上
用户名密码:user:pass「一般是不用的」
主机名:服务器名+域名
服务器名
- www、mail、
- 域名解析出来的一个IP地址,可能会对应多个的主机,就需要我们使用服务器名去定位服务器
域名:zhufengpeixun.cn
- 分类
- 顶级域名 zhufengpeixun.cn
- 一级域名 www.zhufengpeixun.cn
- 二级域名 video.zhufengpeixun.cn
- 三级域名 student.video.zhufengpeixun.cn
- 购买的是顶级域名,自己后期可以分配二级/三级域名
- 域名的目的就是给对应的服务器外网IP起一个别名,方便用户记忆
- 域名和服务器都购买完成后,需要在DNS服务器上生成一条解析记录,用于以后的DNS解析
- 协议、域名、端口号只要有一个不同,则为跨域!!
- www.baidu.com VS www.qq.com :跨域
- www.baidu.com VS video.baidu.com :跨域「主域相同,但是子域不同」
- www.baidu.com:80 VS www.baidu.com:443:跨域
- http://www.baidu.com VS https://www.baidu.com:跨域
- http://www.baidu.com:80/st.html VS http://www.baidu.com:80/index.html:同源
端口号:80
- 分类
端口就是用来区分一台服务器上的多个项目的「每一个项目其实都是一个服务,用nginx/apache来指定具体位置」
- 取值范围 0~65535之间
默认端口号:在浏览器地址栏中输入地址,我们不写端口号,浏览器会帮助我们加上,传递给服务器的时候是带着端口号的
基于路径找到客户端需要的资源文件
看到的URL地址可能是重写后的「看到的地址在文件目录中不存在」
- ajax数据请求的接口地址 /api/list
- url重写
- https://item.jd.com/10024624707120.html{静态地址:利于SEO优化}
- 原本地址:https://item.jd.com/detail.jsp?id=10024624707120 {动态地址:不利于SEO优化}
- http://www.xxx.com/info/10024624707120 路径参数「导航」
- http://www.xxx.com/info?id=10024624707120
问号参数信息:?xxx=xxx&xxx=xxx
把信息传递给服务器 GET系列请求一般都是这样传递参数
- xxx=xxx&xxx=xxx -> x-www-form-urlencoded 格式
- 如果是页面跳转,把信息传递给另外一个页面
-
HASH(哈希)值:#video
锚点定位
-
URL编译编码问题:
encodeURI & decodeURI:编译空格和中文,一般编译整个URL中的信息0
- encodeURIComponent & decodeURIComponent:编译空格和中文以及一些特殊符号,所以一般只是用来编译传递的信息值的,而不是整个URL「放置URL解析不了或者传递信息的乱码等问题」
- ——前后端都支持的API
- escape & unescape——用于客户端页面信息传递或者一些信息的编译的「例如:cookie中的中文内容编译」