首先为了方便我们了解url我们先看一张图
href就是我们的路由,可以看出除了几个部分,大多数人对路由的了解就是,协议,主机,端口号,参数。
实际上我们的路由中包含的不仅仅是这几项
主要组成有 协议,授权,主机(主机名,端口),路径(路径名,search(query)),哈希值
protocal协议:http,https
auth授权:很多人对授权不是很了解,例如我们在使用mysql的时候涉及连接数据库,需要用到用户名及密码,例如 auth:uesr:password@等等
host主机:hostname主机名&&port端口 例如www.qq.com,localhost
path路径:pathname路径名,search搜索项:?,query,#hash值
遇到这个问题一般情况都会有一些连环性的问题
例1:常见的协议有哪些?
http(80),https(443),mongodb(27017),mysql(3306),pop3,smtp(email)
例2:什么是跨域,跨域产生的影响是什么?
首先来了解一下什么是跨域的原因,当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
origin表示这个请求原始是在哪里发起的,包括了协议,域名这个参数一般只存在于CSRS跨域请求,非跨域请求没有这个参数
之后我们简单是说一下跨域产生的影响
1.不能获取数据:在我们开发的过程中,前端向后端获取数据,就会经常遇到跨域问题,在控制台就会报错提示我们跨域
2.不能操作dom:从安全的角度来解释这个问题,如果跨域请求可以操作dom的话,有一些恶意的网站就会通过跨域请求开修改操作其他网站的dom元素,所以浏览器禁止了跨域请求操作dom
3.不能操作本地存储:同dom类似,一些网站的本地中会存储一些敏感信息,如果可以通过跨域请求来操作其他网站的本地存储中的信息,就会出现很大的问题,所以浏览器禁止了跨域请求操作本地存储
后序会对如何解决跨域进行分析