知识点列表:URLDNS解析、IP地址浏览器缓存TCP建立连接服务器处理、HTTP请求(HTTP缓存,产生 HTTP报文,请求报文、响应报文)状态码网站处理、MVC后台、数据库请求浏览器渲染(浏览器渲染引起的问题Repaint 和 Reflow、script放置问题+页面加载产生的白屏和FOUC、CSS加载造成阻塞问题)TCP连接结束性能优化
现象:用户体验、网页太卡打不开(卡、慢)、服务器带宽流量(成本)、服务器压力
从哪处理:JS加载顺序、浏览器加载-白屏和FOUC、CSS阻塞、函数节流+防抖、减少HTTP请求+HTPP缓存机制、使用CDN
参考链接:
display:none和visibility:hidden两者的区别
从URL输入到页面展现到底发生什么?
浏览器输入 URL 后发生了什么?
低端外包程序员:前端面试题---一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
面试题:在浏览器输入“google.com”后都发生了什么?
「真香警告」重学TCP/IP 协议 与三次握手
关于三次握手与四次挥手面试官想考我们什么?--- 不看后悔系列
Fundebug:一文搞懂TCP与UDP的区别
方应杭:「每日一题」你是如何做性能优化的?
方应杭:「每日一题」什么是 Web 服务器(server)
图解浏览器的基本工作原理
浏览器的渲染:过程与原理
JS 一定要放在 Body 的最底部么?聊聊浏览器的渲染机制
当考虑网页首屏加速的时候,我们在考虑什么
css加载会造成阻塞吗? - 掘金
Fundebug:经典面试题:浏览器是怎样解析CSS的?
从输入URL到页面加载的过程?如何由一道题完善自己的前端知识体系!
HTTP协议
为什么HTTPS比HTTP更安全?
漫画:什么是 HTTPS 协议?
前端基础篇之HTTP协议
输入URL地址——域名解析——TCP三次握手连接+发送HTTP请求——服务器处理(包含了服务器请求处理、返回HTTP报文、后台处理)——浏览器处理(浏览器渲染、绘制网页)
一、URL
1、URL/URI 分别是什么
(1)URL是什么
随意在浏览器里输入一个网址,比如 baidu.com 你会看到什么?看到百度的搜索页面。
URL:(Uniform Resource Location 统一资源定位符) 通过描述资源的位置来描述资源。 就是我们使用浏览器等访问web页面的时候需要输入的地址,俗称“网址”,用于定位互联网上的资源,如图片、文件或css文件等,需要通过互联网中的URL进行对其的定位。如http://www.baidu.com
(2)URI是更通用的资源标识符,URL是它的一个子集。URI由两个主要的子集构成,
URI:Uniform Resource Identifier 统一资源标识符
(3)URN:通过名字来识别资源,和位置无关
3、URL由什么组成
协议、主机名、域名、默认端口号、资源路径、参数或其他相关信息
http://samaritan89.github.io/f2e/js/ajax.html
//通用的URL由9部分组成
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<hash>
<scheme>://<host>.<domain>:<port>/<path>/<filename>
以下几部分具体解释:
- <scheme>:对于web页面来说最常用的协议就是http和https
- <user>:<password>:user和password现在不常见,不会在URL明文书写用户名和密码了,都是通过登录的方式
//或者 - <host>:定义域主机 。(如http默认的主机是www)
- <domain> : 定义因特网域名。(如http://baidu.com)
- <port>:定义主机上的端口号。端口号用来区分主机上的进程,方便找到web服务器,http默认是80
- <path>:path是资源的路径,也就是存放位置,不一定和物理路径完全对应,符合web服务器路由约定即可
- <params>:在一些协议中需要参数来访问资源,例如 ftp 是二进制还是文本传输&#x