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统一资源表示符
- 也就是前后端路由的内容。例如Node中集成的url模块扩展,前端框架VueRouter中是#模式利用了hash、History模式利用了浏览器窗口有一个history对象,用来保存浏览历史。
代理、网关、隧道
HTTP通信时。除客户端和服务端之外。还有一些用于通信数据转发的应用程序,例如代理、网关、隧道。它们可以配合服务器工作
代理:接受客户端发送的请求并转发给服务器,同时也接受服务器返回的响应并转发给客户端
- 缓存代理:缓存服务器是代理服务器的一种,归并在这一类中。缓存服务器的优势自于利用缓存可避免多次从源服务器转发资源。(如CDN内容分发网络,基本原理就是采用了各种缓存服务器。CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。)
- 透明代理:转发请求或响应时,不对报文做任何加工的的代理类型被称为透明代理。反之,对报文内容进行加工的代理称为非透明代理。
网关:网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求就进行处理。有时客户端都不会察觉自己的通信目标是一个网关。
- 利用网可以由http请求转化为其他协议通信,网关能够使通信线路上的服务器提供非HTTP协议服务,利用网关提高通信安全性。比如:网关可以连接数据库,使SQL语句查询数据。
隧道:是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。
- 通过隧道的传输,可以和远距离的服务器安全通信。隧道本身是透明的,客户端不用在意隧道的存在。
HTTP首部字段
通用首部字段:
请求首部字段:
响应首部字段:
实体首部字段:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。