输入URL之后发生的事情
- HTTP方法: GET,POST,HEAD,PUT,DELETE
- 对url进行解析获取里面的参数,提取域名
- location.port
- location.protocol包含冒号
- location.host包含端口
- location.hostname不包含端口
- location.href=path+search+hash
- location.path表示路径
- location.search从?开始的部分
- location.hash从#开始的部分
- location.assign设置path
- location.replace
- location.reload
- 检查缓存中是否有这个域名对应的IP地址,如果有结束
- 检查http缓存: expires,last-modified,max-age,etag
- http状态码:200,301,302,401,403,404,500,502
- html5web存储:localStorage,localSession,indexDB;cookie
- DNS概述,DNS即使用TCP又使用UDP,域名空间,DNS工作流程简述,域名解析查询:递归及迭代两者区别
- HTTP1.1,HTTP2.0和HTTPS
- 长连接复用和多路复用,keep-alive
- SSL,对称加密和非对称加密,https加密过程
- http头部
- OSI7层模型,TCP/IP协议栈,5层网络模型
- TCP三次握手
- 可靠传输的工作原理:停止等待协议和连续ARQ协议
- 滑动窗口协议:如何保证次序?如何提高吞吐量?如何实现最优解?链接
- 描述滑动窗口协议:网络不可靠问题,比如丢包,重复包,出错,乱序;
- 流量控制:以字节单位的滑动窗口
- 拥塞控制:慢开始,拥塞避免,快恢复,快重传
- 发送http请求
- TCP四次挥手,2MSL
- 关于TCP解释得最好的一篇博客
- 其实关于TCP的状态转换只需要一张TCP的有限状态机就行了
- TCP和UDP的区别:字面,可靠吗,常用端口
- ipv4和ipv6
- 内网映射:NAT-PT,NAT
- 子网划分:子网掩码,CIDR(网络前缀)
- VLAN
- 地址解析: RARP,ARP
- 网络路由:RIP,OSPF
- 控制报文:ICMP, ping, traceroute
- MAC地址
- 网络套接字
- 获取到html文件
- 白屏时间
- 构建dom树
- 浏览器构建DOM树的顺序:遇到link文件异步请求和下载,遇到script文件同步下载并立刻执行,遇到img标签不下载图片,继续渲染后面
- async和defer
- 使用setTimeout实现setInterval
- HTML5新特性:article,footer,header,section,aside,canvas,拖放,input,websocket
- CSS3新特性:borders-radius,transform,translate,transition,盒模型,弹性布局,多媒体查询
- HTML5和CSS3参考链接
- 块级元素和行内元素
- 垂直和水平居中
- position,display,css盒模型,box-sizing,BFC
- CSS的特性:层叠性,继承性和优先级
- 内联样式,内部样式,外部样式,@import
- CSS选择器: ID选择器,内联样式,类选择器,后代选择器,伪类选择器
- CSS布局:响应式布局[viewport],伸缩布局,圣杯布局,双翼飞布局,流式布局,grid布局,双栏布局
- 发送ajax请求
- 同源策略:域名、协议和端口,通常说的域名www.baidu.com(三级域名.二级域名.顶级域名),子域名images.baidu.com,是不同域名
- 当初始的HTML文档被完全加载和解析完成之后,DOMContentLoaded触发(必须等待所属的script之前的样式表加载解析完成才会触发)
- 首屏时间
- 浏览器构建渲染树
- 前端优化:
- 数组扁平化
- web页面级优化
- iframe的使用场景有哪些?
- 排序算法的时间复杂度
- qq空间是一个很好的例子