• TCP

    一、TCP 和 UDP 的区别TCP 和 UDP 都是传输层协议,不同点在于: TCP 是 面向连接的、可靠的、面向字节流 的 UDP 是 面向无连接 的 TCP 的三大核心特性 1、面向连接在客户端和服务器互相通信之前,TCP 需要三次握手建立连接,而 UDP 不需要 2、可靠性TCP 的可靠性体现在有状态、可控制。 (1)有状态TCP 会记录发送的数据,以及其中被接收和未被接收的数...
  • interface & type

    一、相同点1、都可以描述对象和函数的类型但语法不一样,type 使用 = 赋值 12345678interface User { name: string age: number}interface SetUser { (name: string, age: number): void} 123456type User =...
  • 三次握手&四次挥手

    三次握手一、概念1、TCP 协议TCP(Transmission Control Protocol),即传输控制协议。TCP 协议是一个 面向连接的、可靠的、基于字节流 的 传输层协议。 TCP 连接可以用于 保证可靠性 和 流量控制机制,包括 Socket、序列号及窗口大小。 其中 Socket 是由 IP 加端口组成的,序列号是用来解决乱序问题的,而窗口大小则是用来做流量控制的。 2、T...
  • CDN

    一、概念CDN 全称为 “Content Delivery Network”,即内容分发网络。CDN 是一种特殊的 DNS服务器。 二、原理当使用域名访问某一个网站时(比如访问 www.baidu.com),分为两步: 首先解析出该域名所对应的 IP地址(DNS 域名解析) 然后将 Http请求包 路由到 IP地址 所对应的服务器 (注:IP地址和网卡相绑定,一个服务器可以有多个网卡,即...
  • DNS

    一、定义DNS 是: 一个使得主机能够查询分布式数据库的应用层协议 一个由分层的 DNS 服务器实现的分布式数据库 (1)DNS 是一个分布式数据库,整个 DNS 系统由分散在世界各地的很多 DNS 服务器组成,每台服务器上都保存了一些数据,可以让我们最终查到主机名对应的 IP。 (2)DNS 是一个应用层协议,发送一个包含所查询主机名的请求,它会返回该主机名对应的 IP。 分布式: 世...
  • 浏览器缓存与304状态码

    总结出现304状态码的条件 不禁止缓存 不检查本地缓存是否过期;或者检查本地缓存、且未过期 响应头有Etag(则下次的请求头中有If-None-Match);或者响应头有Last-Modified(则下次的请求头中有If-Modified-since) 缓存有效 注意:下图中的Etag和Last-Modified之间不存在先后顺序 一、304请求的交互过程假设用户通过浏览器访问某静态资...
  • 投放链接防重定向

    为了防止浏览器进行多次重定向,影响页面性能,投放链接应该以 https 开头,以 ‘/‘ 结尾不用:http://lc.jr.jd.com/finance/fund/fundinvest/investZone使用:https://lc.jr.jd.com/finance/fund/fundinvest/investZone/ 不正确投放链接访问http://lc.jr.jd.com...
  • 浏览器解析url过程

    1. URL的格式协议表示浏览器应当使用的访问方法,包括:”http:””ftp:””file:””mailto:”。比如访问Web服务器使用HTTP协议,访问本地服务器使用FILE协议,访问FTP服务器使用FTP协议。 图1 列举了常见的几种URL,访问自标不同,URL的写法也不同。例如在访问Web服务器和FTP服务器时,URL中包含服务器的域名和要访问的文件的路径名等,而发邮件的URL则...
  • 浏览器输入url后发生了什么

    1. URL解析用户输入的URL(例如 https://www.example.com/index.html)首先被浏览器解析,该过程包括: 提取协议(如HTTP或HTTPS) 主机名(如www.example.com) 端口 路径(如/index.html) 查询参数 锚点 详见: 浏览器解析url过程 2. DNS 查询浏览器需要将域名转换为IP地址,以便进行网络通信。...
  • vue3 依赖注入

    props 逐级透传深层子组件需要较远的祖先组件中的部分数据,使用 props 逐级传递很麻烦: provide(提供)为组件后代提供数据,使用 provide() 函数: 12345<script setup>import { provide } from 'vue';provide(/* 注入名 */'message&#...
1678910