0%
Egg.js_Cookie 与 Session
参考:Egg.js 文档:Cookie 与 Session
HTTP 请求都是无状态的,但是我们的 Web 应用通常都需要知道发起请求的人是谁。为了解决这个问题,HTTP 协议设计了一个特殊的请求头:Cookie。服务端可以通过响应头(set-cookie)将少量数据响应给客户端,浏览器会遵循协议将数据保存,并在下次请求同一个服务的时候带上(浏览器也会遵循协议,只在访问符合 Cookie 指定规则的网站时带上对应的 Cookie 来保证安全性)。
Cookies
Cookies 的作用
- 同一个浏览器访问同一个域的时候,不同页面之间的数据共享。
- 数据持久化。(关闭浏览器后重新打开浏览器页面,数据还存在)。
Egg.js_搭建爬虫系统显示新闻页面
Egg.js_GET 传值和动态路由
GET 传值
获取 URL 路径中的 GET 传值。
// app/controller/home.js
'use strict';
const Controller = require('egg').Controller;
class HomeController extends Controller {
async index() {
// 获取 get 传值
const query = this.ctx.query;
// 返回响应信息
this.ctx.response.body = query;
}
}
module.exports = HomeController;
// app/router.js
// Router 主要用来描述请求URL和具体承担执行动作的 Controller 的对应关系
'use strict';
module.exports = app => {
const { router, controller } = app;
router.get('/', controller.home.index);
};
测试请求:<http://127.0.0.1:7001/?name=andy&password=123456
页面显示:{“name”:”andy”,”password”:”123456”}
Egg.js_POST 提交表单时的 CSRF 安全验证
Egg.js 在 POST 提交表单数据时会自动进行 CSRF 安全验证,需要进行配置。
参考:Egg.js 文档:安全威胁 CSRF 的防范
AWS 搭建 LVS+keepalived 步骤
基于 LVS + keepalived 的双机热备负载均衡器
AWS System Manager
Mac 上安装 AWS CLI 上的 plugin
# 1.下载文件
$ curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
# 2.解压文件
$ unzip sessionmanager-bundle.zip
# 3.安装插件
$ sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
# 4.插件安装成功后,检验插件的安装情况
$ session-manager-plugin --version
1.0.37.0
执行命令进行登录:
aws ssm start-session --target instance-id
Apache Bench——ab 性能测试工具
一、相关概念
与压力测试有关的概念:
1. 吞吐率(Requests per second)
- 概念:服务器并发处理能力的量化描述,单位是 reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
- 计算公式:总请求数 / 处理完成这些请求数所花费的时间,即
每秒请求数 = 完成请求数 / 测试时间。
2. 并发连接数(并发连接数)
- 概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。
3. 并发用户数(并发用户数,并发级别)
- 概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。
4. 用户平均请求等待时间(每个请求的时间)
- 计算公式:处理完成所有请求数所花费的时间 /(总请求数 / 并发用户数),即
每个请求的时间 = 测试所花费的时间 /(完整请求 / 并发级别)。
5. 服务器平均请求等待时间(每个请求的时间:跨所有并发请求)
- 计算公式:处理完成所有请求数所花费的时间 / 总请求数,即所花费的时间 /testsComplete 请求。
可以看到,它是吞吐率的倒数。
同时,它也 = 用户平均请求等待时间 / 并发用户数,即
每个请求的时间 / 并发级别。