前端掌握技能总结报告(合集4篇)

时间:2025-05-31 07:21:06 admin 今日美文

前端掌握技能总结报告 第1篇

开启网络线程到发出一个完整的http请求(dns查询,tcp/IP请求,五层因特网协议栈等知识)

如果输入的是域名,需要DNS解析成IP,过程如下:

dns查询是很耗时的,如果解析域名过多,会让首屏加载变慢,可以用dns-prefetch优化

http的本质就是tcp/ip请求这部分需要了解三次握手和断开连接时的四次挥手。

tcp将http的长报文分为短报文,通过三次握手建立连接,进行传输数据。

建立连接成功后,就可以开始传输数据啦~~

之后就断开了连接,无法通信。

浏览器对同一域名下的并发的tcp连接是有限制的(2-10个不等),而且在之前,一个资源下载就需要一个tcp/ip请求。

get和post本质上虽然都是tcp/ip,但是除了在http层面外,在tcp/ip层面也有区别的,get只会产生一个数据包(把headers和data一起发出去),post请求会发送两个数据包(先发送headers,收到100之后会再发data)

从客户端发出http请求到服务器接收,中间会经过一系列的流程.简单概括就是:从应用层发送http请求,到传输层通过三次握手建立tcp/ip连接,再到网络层ip寻址,再到数据链路层的封装成帧,最后到物理层的利用物理介质传输.还有一个完整的OSI七层框架,多了会话层和表示层会话层:管理不同用户和进程之间的对话,比如控制登录和登出表示层: 处理两个通信系统中交换信息的表示方式,包括数据格式的交换,数据加密与解密,数据压缩等。

前端掌握技能总结报告 第2篇

从服务器接收到请求到对应后台接收到请求(负载均衡,安全拦截以及后台内部的处理)

对于大型项目来说,并发访问量是很大的,这种情况下一台服务器肯定是不够的,所以一般会有若干个服务器组成一个集群,配合反向代理实现负载均衡。用户发起请求都指向调度服务器,然后调度服务器根据实际的调度算法,分配不同的请求给对应的集群中的服务器执行,然后调度器等待实际服务器的http响应,再返回给浏览器

后台一般都会加拦截器,安全拦截验证,跨域验证等等

前端掌握技能总结报告 第3篇

缓存这部分可以参考我另一篇文章浏览器缓存机制分析

BFC部分可以参考这篇笔记BFC

JS执行机制部分可参考这篇文章js执行机制

总的来说,知识要点就是以下这些~~

浏览器的进程和线程

构建dom树,css树,render树,reflow,repaint,复合层和简单层,GPU渲染

字节-> 分词 -> 语法树 -> 解析成机器码

变量提升,函数提升,VO, AO, this

,的主要新特性

https就是建立在http基础上,在请求前先建立ssl连接,确保接下来的通信都是加密的,无法被窃取。

下面简单说下SSL/TLS握手流程:

浏览器收到服务端发的证书后

xss 跨站脚本攻击csrf 跨站请求伪造

前端掌握技能总结报告 第4篇

这部分包括三个部分

Request Url: 请求的服务器的地址

Request Method: 请求方式(GET,POST,HEAD,OPTIONS,PUT,DELETE,CONNECT,TRACE)(定义了三种请求方法,GET,POST,HEAD,新增了5种方法,OPTIONS,PUT,DELETE,CONNECT,TRACE)

Status Code: 请求返回的状态码

Remote Address: 请求的远程服务器的地址(会转成IP)

Accept: 接收类型,表示浏览器支持的MIME((Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准)类型,对应服务端返回的的content-type

Accept-Encoding:浏览器支持的压缩格式,如gzip

Content-Type: 浏览器发出去的实体内容的类型

Cache-Control: 指定请求和返回的缓存机制,如no-cache

If-Modify-Since: 对应服务端的Last-Modified,用来匹配文件是否变动,是否使用缓存,只能精确到1s内,是的

Expires: 在这个时间内使用缓存,

Max-age: 代表资源在本地缓存多少秒,有效时间内使用缓存

If-none-Match: 对应服务端的Etag,用来匹配文件内容是否改变

Cookie:有cookie并且同域访问时会带上

Connection: 服务端和客户端通信连接方式,keep-alive,表示使用长连接(数据传输完成了保持TCP连接不断开(不发RST包、不四次挥手),客户端的长连接不可能无限期的拿着,会有一个超时时间,服务器有时候会告诉客户端超时时间,如果服务器没有告诉客户端超时时间也没关系,服务端可能主动发起四次挥手断开TCP连接,客户端能够知道该TCP连接已经无效;另外TCP还有心跳包来检测当前连接是否还活着)

Host:请求的服务器URL

Origin: 最初的请求是哪里发起的,只会精确到端口

Referer: 该页面的来源,会精确到页面地址,csrf拦截常用到这个字段

User-Agent:用户客户端的一些信息,如浏览器信息

Access-Control-Allow-Headers: 服务器允许的请求的headers

Access-Control-Allow-Methods: 服务器允许请求的方法

Access-Control-Allow-Origin: 服务器允许的请求的origin

Content-Type:服务器返回的实体内容的类型

date:数据从服务端发起的时间

cache-control:告诉客户端缓存机制

Last-modified: 请求资源的最后修改时间

Expires:告知客户端在这个时间内使用缓存

Max-age:告知客户端在本地缓存多少秒

Etag:请求资源的标识,表示资源是否改变

Set-cookie:设置和页面相关联的cookie,服务器通过这个头部把cookie传给客户端

keep-alive:如果客户端设置了keep-alive,服务端会有相应的响应,比如timeout=20

Server:服务器的信息。比如Apache

不同范围的状态的意义

常见的状态码

cookie是浏览器本地存储的一种方式,一般帮助客户端和服务端通信,用来检验身份,结合服务端的session使用。

简单说下使用场景:

gzip的压缩效率很高,高达70%以上,具体可以参考我另一篇文章前端性能优化之gzip