前端知识(纯干货)

计算机网络五层架构

        人们通常情况下,会将互联网分为五层结构,由下而上分别为:实体层、链路层、网络层、传输层和应 用层。
        每一层之间都有不同的形态和构成机制, 所以如果想实现不同层之间的联系,必须遵守不同层之间的规则。这 些规则统称为 互联网协议 ,它们是互联网的核心。
        物理层 / 实体层 它规定了网络的电气特性,负责 0 1 电信号的传送。
        链路层 实体层传输的是 0 1 电信号,计算机解读不了,我们必须为其制定一套规则来进行传输,于是就有了以 太网协议。
        网络层 从理论上讲,只要我们获取 MAC 地址,就可以对任何一台计算机进行信息的发送,但是实际操作起来却 有很大的困难,还需要通过其他方式进行下一步的信息传递。 1. 广播 以太网采用了一种很 " 原始 " 的方式, 它不是把数据包准确送到接收方,而是向本网络内所有计算机发送,让每台计算机自己判断是否为接收方。2.IP 协议 实现这个目的的就是 IP 协议。

        传输层 传输层建立的是端口到端口之间的通信,相比之下网络层建立的是主机到主机之间的通信。

        应用层: 网络结构的最上面一层是应用层,应用层直接面向用户,比如浏览器、邮件、影音等等,这些程序发送 过来的数据也是各种各样的,所以必须实现规定好的格式才能进行解读。应用层的作用,就是规定应用 程序的数据格式。如,万维网浏览: http 协议;邮件收发: smtp/POP3 协议;文件传输: ftp 协议;域名 服务: DNS 协议等。应用层协议规定了进程在通信时所遵守的规则。
1. 应用层 (书信格式言)
2. 传输层 (挂号信、平信的区别)
3. 网络层 (收信人地址、邮编)
4. 数据链路层 (邮局网点间运输)
5. 物理层 (公路)

浏览器协议

HTTP (超文本传输协议):用于在 Web 浏览器和服务器之间传输超文本数据,使我们能够在互联
网上浏览网页。
HTTPS (安全套接层超文本传输协议):是 HTTP 的安全版本,使用加密来保护数据传输的安全性,
例如在网上进行购物或登录时。
FTP (文件传输协议):用于在网络上传输文件,使用户可以上传或下载文件到远程服务器。
SMTP (简单邮件传输协议):用于电子邮件的发送,规定了邮件客户端和邮件服务器之间的交互
方式。
POP3 (邮局协议版本 3 )和 IMAP Internet 消息访问协议):用于接收电子邮件,分别用于从邮件
服务器下载邮件或在服务器上管理邮件。
DNS (域名系统):将域名转换为 IP 地址的协议,使我们能够通过易于记忆的域名访问网站。
Telnet :用于在网络上远程登录到其他计算机,以便远程管理和控制。
以上几个是比较常见的协议

cookiesession的区别

        HTTP协议是无状态协议,自身不对请求和响应直接的通信状态进行保存,但有些场景下我们需要
保存,但有些场景下我们需要保存用户的登录信息,所有就引入了 cookie session 来管理状态。
保存位置与安全性: cookie 保存在客户端, session 保存在服务端,所以在安全性上面, cookie
在安全隐患,可以通过拦截或本地文件找到 cookie 后进行攻击,而 session 相对更加安全。因此,
可以将登陆信息等重要信息存放为 session 中;其他信息如果需要保留,可以放在 cookie 中。
存储容量:单个 cookie 最大只允许 4KB ,一个站点最多保存 20 Cookie session 没有大小限制,
个数只跟服务器的内存大小有关。
        有效期与实现机制:cookie 可长期有效存在; session 依赖于 cookie ,过期时间默认为 -1 ,只需关
闭窗口该 session 就会失效。每个客户端对应一个 session ,客户端之间的 session 相互独立;
cookie cookie 是一小段的文本信息,当客户端请求服务器时,如果服务器需要记录该用户状态,
就在响应头中向客户端浏览器颁发一个 Cookie ,而客户端浏览器会把 cookie 保存起来。当再次请求
该网站时,浏览器把请求的网站连同该 cookie 一起提交给服务器,服务器会检查该 cookie ,以此来
辨认用户状态。
        session:当客户端请求服务器时,都会带上 cookie cookie 里面一般都会有一个 JSESSIONID ,服
务器就按照 JSESSIONID 来找到对应的 session ;如果客户端请求不包含 JSESSIONID ,则为此客户
        端创建session 并生成相关联的 JSESSIONID ,并将这个 JSESSIONID 在本次响应中返回给客户端保
存。客户端保存这个 JSESSIONID 的方式可以使用 cookie 机制。若浏览器禁用 Cookie 的话,可以通 过 URL 重写机制 将 JSESSIONID 传回服务器。

GETPOST请求的区别

1. 功能:get一般用来从服务器上面获取资源,post一般用来更新服务器上面的资源。

2. 幂等性: get 是幂等的, post 为非幂等的。
3. 安全性: get 请求的参数会明文附加在 URL 之后,而 post 请求提交的数据则被封装到请求体
中,相对更安全。
4. 传输数据量的大小: get 请求允许发送的数据量比较小,大多数浏览器都会限制请求的 url 长度
2048 个字节,而大多数服务器最多处理 64K 大小的 url ;而 post 请求提交的数据量则是没有
大小限制的。
5. 参数的数据类型: GET 只接受 ASCII 字符,而 POST 没有限制。
6. GET 在浏览器回退时是无害的,而 POST 会再次提交请求。
7. get 请求可以被缓存,可以被保留在浏览器的历史记录中; post 请求不会被缓存,不会被保留
在浏览器的历史记录中。

浏览器的渲染原理 !!!

1. 解析 url ,获取 url 中包含的域名。
2. 通过 DNS 系统查询域名对应的 IP
3.浏览器得到域名对应的 IP 地址之后,向服务器发起三次握手请求建立 TCP 连接。
4. TCP 连接建立起来后,浏览器向服务器发送 HTTP 请求,如果 HTML 文件在缓存中,浏览器则直接返 回,如果没有,就去后台拿。
5. 服务器接收到请求后,根据路径参数映射到特定的处理器进行处理,并将处理结果以及响应的视图 返回给浏览器。
6. 浏览器解析视图,并根据请求到的资源、数据进行渲染页面,最终向用户呈现一个完整的页面。
渲染过程:
1 构建 DOM (DOM tree) :从上到下解析 HTML 文档生成 DOM 节点树( DOM tree ),也叫内容树
content tree )。
2 构建 CSSOM(CSS Object Model) 规则树:加载解析样式生成 CSSOM 树。
3 执行 JavaScript :加载并执行 JavaScript 代码(包括内联代码或外联 JavaScript 文件)。
4 构建渲染树 (render tree) :根据 DOM 树和 CSSOM , 生成渲染树 (render tree)
5 渲染树:按顺序展示在屏幕上的一系列矩形,这些矩形带有字体,颜色和尺寸等视觉属性。
6 布局( layout ):根据渲染树将节点树的每一个节点布局在屏幕上的正确位置。
7 绘制( painting ):遍历渲染树绘制所有节点,为每一个节点适用对应的样式,这一过程是通过 UI 后 端模块完成。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值