1.我们剖析上下文,需要将剖析的代码写好。
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = ctx; //这段代码将ctx部分内容都返回到浏览器body里面,。
});
app.listen(3000);
2.浏览器请求
3.显示返回浏览器截图和代码
{ //请求信息
request: {
method: "GET", //请求get方式请求获取
url: "/", //访问的路由
header: {
host: "127.0.0.1:3000",//访问的域名或ip以及端口
//Host 请求头指明了服务器的域名,以及服务器监听的TCP端口号。
connection: "keep-alive",
//connection: "keep-alive",表明事务处理是否关闭连接。
//如果该值是“keep-alive”,网络连接就是持久的,不会关闭,使得对同一个服务器的请求可以继续在该连接上完成。
cache-control: "max-age=0",
//用于在http 请求和响应中通过指定指令来实现缓存机制。不是一个标准的
//max-age=0 表示缓存存留多久
upgrade-insecure-requests: "1",
//向服务器端发送信号表示它支持 upgrade-insecure-requests 的升级机制
user-agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
//一些标准和系统信息
accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
//表示可以处理的内容类型
accept-encoding: "gzip, deflate, br",
//客户端能够理解的内容编码方式
accept-language: "zh-CN,zh;q=0.9,en;q=0.8"
//语言信息
}
},
//响应信息
response: {
status: 200,
message: "OK",
header: {
content-type: "application/json; charset=utf-8"
}
},
app: {
subdomainOffset: 2,
proxy: false,
env: "development"
},
originalUrl: "/",
req: "<original node req>", //node的req
res: "<original node res>", //node的res
socket: "<original node socket>"
}