1.Koa

Response 别名
  • 以下访问器和 Response 别名等效:

    • ctx.body
      ctx.body=
      ctx.status
      ctx.status=
      ctx.message
      ctx.message=
      ctx.length=
      ctx.length
      ctx.type=
      ctx.type
      ctx.headerSent
      ctx.redirect()
      ctx.attachment()
      ctx.set()
      ctx.append()
      ctx.remove()
      ctx.lastModified=
      ctx.etag=

3.游览器部分快捷知识

强制刷新游览器重载资源
  • 手动清除一次游览器缓存数据
  • Devtools中在performance选择disable cache
  • 强制刷新快捷键【command+shift+r】

3.HTTP回顾笔记

TCP/IP协议族(包括HTTP、FTP、TCP、DNS、ICMP、PPPoE等等都只是子集)下各层:
  • HTTP位于应用层,应用层决定了向用户提供应用服务时通信的活动。像FTP,DNS(domain Name System域名系统)等应用服务都是位于这一层
  • 传输层有两个协议:TCP和UDP,TCP协议采用三次握手策略。(注:socks5是一种基于传输层的网络代理协议,socks第五版本,他能转发任何基于TCP/IP协议的应用层通信活动。但我们为什么在终端无法翻墙的原因是因为它不支持sock5代理协议和HTTP代理,无法实现通信活动。通常解决办法就是使用环境变量给终端程序配置一个全局代理)
  • 网络层也就是IP协议层,用来处理网络上流动的数据包,增加上通信目的MAC地址后转发给链路层。作用把各种数据包传送给对方,要保证传输的准确需要满足各类条件,其中最重要的条件是IP地址和MAC地址。
  • 链路层用来处理连接网络的硬件部分。包括:控制操作系统、硬件设备驱动、NIC网卡、光纤等。
IP地址、MAC地址
  • IP地址:节点分配到的地址
  • MAC地址:网卡所属的固定地址
  • IP地址可以和MAC地址进行配对。
  • ARP是一种可以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。(但真实的传输状态没人能全面掌握,当向一个IP地址发送数据包时,先进行ARP解析只会分析大概的一个MAC地址路由器,然后再解析发往下一个MAC路由器,这中间需要转好几个MAC路由器才能到达接受端。这就是路由选择机制。)
URI统一资源表示符
  • image.png
  • 也就是前后端路由的内容。例如Node中集成的url模块扩展,前端框架VueRouter中是#模式利用了hash、History模式利用了浏览器窗口有一个history对象,用来保存浏览历史。
代理、网关、隧道

HTTP通信时。除客户端和服务端之外。还有一些用于通信数据转发的应用程序,例如代理、网关、隧道。它们可以配合服务器工作

  • 代理:接受客户端发送的请求并转发给服务器,同时也接受服务器返回的响应并转发给客户端

    • 缓存代理:缓存服务器是代理服务器的一种,归并在这一类中。缓存服务器的优势自于利用缓存可避免多次从源服务器转发资源。(如CDN内容分发网络,基本原理就是采用了各种缓存服务器。CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。)
    • 透明代理:转发请求或响应时,不对报文做任何加工的的代理类型被称为透明代理。反之,对报文内容进行加工的代理称为非透明代理。
  • 网关:网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求就进行处理。有时客户端都不会察觉自己的通信目标是一个网关。

    • 利用网可以由http请求转化为其他协议通信,网关能够使通信线路上的服务器提供非HTTP协议服务,利用网关提高通信安全性。比如:网关可以连接数据库,使SQL语句查询数据。
  • 隧道:是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。

    • 通过隧道的传输,可以和远距离的服务器安全通信。隧道本身是透明的,客户端不用在意隧道的存在。
HTTP首部字段
  • 通用首部字段:

    • image.png
  • 请求首部字段:

    • image.png
  • 响应首部字段:

    • image.png
  • 实体首部字段:

    • image.png

Macrohoo
28 声望2 粉丝

half is wisdom!🤔