1、同源策略 :是一种约定,是浏览器最重要也是最核心的安全功能。如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。
2、从输入url到页面加载完成,发生了什么?
简单版:
1.DNS解析 (域名转ip)
2.与服务器建立连接 (浏览器获得完整的服务器IP地址后,域名解析环节完成。之后,浏览器通过IP地址查找到对应的服务器,并将用户发起的http请求发送给服务器。)
3.服务器处理并返回http报文
4.浏览器解析渲染页面 (浏览器接收到后台返回的HTML字符串后,会依次经历:加载、解析、渲染。)
过程
DNS解析
DNS解析的过程就是寻找哪台机器上有你需要资源的过程。当你在浏览器中输入一个地址时,例如www.baidu.com,其实不是百度网站真正意义上的地址。互联网上每一台计算机的唯一标识是它的IP地址,但是IP地址并不方便记忆。用户更喜欢用方便记忆的网址去寻找互联网上的其它计算机,也就是上面提到的百度的网址。所以DNS解析实际上充当了一个翻译的角色,实现了网址到IP地址的转换。
而DNS解析通常会经过以下这几个过程:
1.浏览器缓存 - 浏览器缓存DNS记录一段时间
2.系统缓存 - 从Hosts文件查找是否有该域名和对应IP
3.路由器缓存 - 一般路由器也会缓存域名信息
4.ISP DNS缓存 - 到电信的DNS查找缓存
5.都没有找到,则向根域名服务器查找域名对应IP,根域名服务器把请求转发到下一级查找IP
www.baidu.com查找顺序是:
根域名服务器(.)-> .com -> .baidu.com -> www.baidu.com
建立连接
知道了服务器的IP地址后,就可以与服务器建立连接。
建立连接需要三个过程(三次握手):
1.主机向服务器发送一个建立连接的请求
2.服务器接到请求后发送同意连接的信号
3.主机接到同意连接的信号后,再次向服务器发送了确认信号
服务器处理请求
1.浏览器根据 URL 内容生成 HTTP 请求,请求中包含请求文件的位置、请求文件的方式等等
2.服务器接到请求后,会根据 HTTP 请求中的内容来决定如何获取相应的 HTML 文件
3.服务器将得到的 HTML 文件发送给浏览器
浏览器解析渲染页面
在执行 HTML 中代码时,根据需要,浏览器会继续请求图片、CSS、JavsScript等文件,过程同请求 HTML 。
详细版:https://dailc.github.io/2018/03/12/whenyouenteraurl.html
https://segmentfault.com/a/1190000009353010