页面的请求过程
当我们打开某个网站的页面,浏览器就会发起网络请求来获取该页面的资源,我们可以从控制台中看到以下的请求信息在network面板
DNS解析
DNS(Domain Name System,又称域名系统),它负责把域名地址翻译成一个IP,客户端与服务器建立TCP连接需要通过IP通信。
在建立TCP连接之前,需要找到建立连接的服务器,DNS的解析过程可以让用户通过域名找到存放文件的服务器
DNS解析过程会经过定位查询,分别依次尝试从以下途径按顺序的获取该域名对应的IP地址,如果最终没有找到,浏览器便会将页面响应为打开失败
除此之外,我们在前后端联调过程中也常常需要配置host,这个过程便是修改了浏览器缓存或是系统缓存,通过将特定域名指向我们自身的服务器IP地址,便可以实现通过域名访问本地环境、测试环境、预发布环境的服务器资源
同源策略及跨域请求
为什么要配置域名host,而不直接用IP进行访问呢?因为浏览器的同源策略会导致跨域问题
同源策略:只有当请求协议、域名、端口都相同的情况下,我们才可以访问当前页面的cookie/LocalStorage/IndexDB、获取DOM操作节点以及发送Ajax请求
通过同源策略的限制,可以避免恶意的攻击者盗取用户信息,从而保证用户信息的安全
对于非同源的请求,我们常常成为跨域请求,需要特殊的处理
TCP连接
Ajax请求
参考教程:前端进阶教程