后端对于静态资源请求的处理

2019-08-15  本文已影响0人  南慕瑶

一、明确概念

无论是静态资源请求(同步请求),还是普通接口请求(异步请求),对于后端来说,都需要根据前端请求的 url 路径,去匹配相应的 controller ,并返回前端期望的数据、文本、或其他数据类型。

返回数据的类型不同,前端拿到后的处理方式不同。但实质上,后端返回的内容,都是字符串。

即:没有 controller 的处理及返回,前端就拿不到想要的数据。与服务器(通常是cdn服务器)存放文件的路径,没有关系。这里匹配的,只是 controller 的 path 定义。

二、koa 处理静态资源请求

使用中间件:koa-static

使用方式:https://chenshenhai.github.io/koa2-note/note/static/middleware.html

【注意点】

app.use(serve(path.join(__dirname, staticPath)));

指定了静态资源文件的基础路径。在 html 中引用的时候,引用文件的路径,默认是从上面👆指定的基础路径开始找的。

即:

假如在 static 文件夹下有 main.js ,staticPath 指定为 static 文件夹。

则 html 中引用的时候,直接:<script type="text/javascript" src="main.js"></script>

koa 就会去 static 文件夹下,寻找 main.js 文件。

三、总结

静态资源请求,也是通过 controller 的 path 匹配,去进行响应的。

静态资源请求和普通请求的区别,只是返回的数据格式不同。(静态资源文件文本 vs json)

cdn 服务器上的静态资源,可以按照文件夹路径去访问,是因为 cdn 配置好了和文件夹结构相同的 controller 的 path 。同理,koa-static 做的也是这样的事。

上一篇下一篇

猜你喜欢

热点阅读