- 博客(41)
- 收藏
- 关注
原创 Koa中间件机制的洋葱圈模型
const Koa = require('koa');const app = new Koa();app.use(async (ctx, next) => { console.log(1); await next(); console.log(6);});app.use(async (ctx, next) => { console.log(2...
2019-03-25 15:41:19 1073
原创 RSA 公钥和私钥
首先明确一点,公钥和私钥是成对出现的。一个负责加密,另一个负责解密。公开的就是公钥,自己留着的就是私钥。所以不管加密还是解密密钥都是可以是公钥或者私钥的。所以如果别人发东西给我,我就需要把加密密钥给别人,解密密钥自己藏着,这样就是公钥加密,私钥解密。如果我想让别人确认我的身份,我就需要把解密密钥给别人,加密密钥自己留着,给自己加密,别人获得密文后用我的解密密钥才可以解密。所以这里就是公钥负责解...
2019-03-22 08:52:35 1992
原创 使用 React 自带的 useReducer 和 useContext 来实现 Redux(包含异步action的解决方案)
是时候向 Redux 说再见了先上代码和在线执行链接,下面的代码注释中有一些解释CodeSandbox在线执行地址import React, { createContext, useContext, useReducer } from "react";import ReactDOM from "react-dom";// 这里我都写在一个文件里面了,实际项目中,Context肯定单...
2019-03-18 21:16:58 4351 2
原创 客户端识别与 Cookie 机制
HTTP 最初是一个匿名、无状态的请求 / 响应协议。服务器处理来自客户端的请求,然后向客户端回送一条响应。Web 服务器几乎没有什么信息可以用来判定是哪个用户发送的请求,也无法记录来访用户的请求序列。下表给出了七种最常见的用来承载用户相关信息的 HTTP 请求首部首部名称首部类型描述From请求用户的E-mail地址User-Agent请求用户的浏览器软件...
2019-03-13 10:03:15 553
原创 缓存
给前端同学的一句话:不管是 304 Not Modified 还是 Cache-Control:private 什么的,都是服务端通过响应头通知到客户端(浏览器)的,例如服务端下发的资源中有 Last-Modified 的首部,浏览器在下次请求的请求头中则会带上 If-Modified-Since 首部,服务端收到这个首部后,会去拿到这个资源,查看资源修改时间是否和客户端传过来的一致,如果是一致...
2019-03-12 09:05:40 108
原创 读书笔记5 —— Web服务器
实际的 Web 服务器会做些什么建立连接——接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭。接收请求——从网络中读取一条 HTTP 请求报文。处理请求——对请求报文进行解释,并采取行动。访问资源——访问报文中指定的资源。构建响应——创建带有正确首部的 HTTP 响应报文。发送响应——将响应回送给客户端。记录事务处理过程——将与已完成事务有关的内容记录在一个日志文...
2019-03-04 08:59:54 192
原创 读书笔记4 —— HTTP首部详解
首部和方法配合工作,共同决定了客户端和服务器能做什么事情。在请求和响应报文中都可以用首部来提供信息,有些首部是某种报文专用的,有些首部则更通用一些。可以将首部分为五个主要的类型。通用首部这些是客户端和服务器都可以使用的通用首部。可以在客户端、服务器和其他应用程序之间提供一些非常有用的通用功能。比如,Date首部就是一个通用首部,每一端都可以用它来说明构建报文的时间和日期:Date:...
2019-03-02 15:06:05 169
原创 HTTP 状态码指北
HTTP状态码100 ~ 199 —— 信息性状态码状态码原因短语含义100Continue说明收到了请求的初始部分,请客户端继续。发送了这个状态码之后,服务器在收到请求之后必须进行响应101Switching Protocols说明服务器正在根据客户端的指定,将协议切换成 Update 首部所列的协议100 Continue首先,客户端先发送了一个...
2019-02-28 09:13:16 231
原创 读书笔记2 —— URL 和 HTTP 报文详解
URL 的语法<scheme>://<user>:<password>@<host>:<port>/&am
2019-02-26 09:03:17 243
原创 读书笔记1 —— URL 和 HTTP 报文
URI(统一资源标识符 Uniform Resource Identifier)每个 Web 服务器资源都有一个名字,这样客户端就可以说明它们感情需的资源是什么了,服务器资源名被称为 URI。URI 就像因特网上的邮政地址一样,在世界范围内唯一标识并定位信息资源。URL(统一资源定位符 Uniform Resource Locator)URL 是资源标识符最常见的形式,它描述了一台特定服务器...
2019-02-25 08:52:31 181
原创 macOS 下 npm 全局安装仍然提示 Cannot find module 'xxx' 的解决方案
开发十年,就只剩下这套架构体系了!>>> ...
2017-07-13 14:02:00 1995
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人