栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么需要使用http.StripPrefix访问我的静态文件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么需要使用http.StripPrefix访问我的静态文件?

http.StripPrefix()

将请求的处理转发给您指定为其参数的对象,但在此之前,它会通过剥离指定的前缀来修改请求URL。

因此,例如,在您的情况下,如果浏览器(或HTTP客户端)请求资源:

/static/example.txt

StripPrefix
将会剪切
/static/
和将修改后的请求转发到由返回的处理程序,
http.FileServer()
因此它将看到请求的资源是

/example.txt

Handler
通过返回
http.FileServer()
将寻找并送达文件的内容 相对
文件夹(或者更确切地说,
FileSystem
指定作为其参数)(指定
"static"
为静态文件的根目录)。

现在,由于

"example.txt"
位于
static
文件夹中,因此您必须指定相对路径以获取相应的文件路径。

另一个例子

该示例可以在http软件包文档页面(此处)中找到:

// To serve a directory on disk (/tmp) under an alternate URL// path (/tmpfiles/), use StripPrefix to modify the request// URL's path before the FileServer sees it:http.Handle("/tmpfiles/",        http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("/tmp"))))

说明:

FileServer()
被告知静态文件的根是
"/tmp"
。我们希望网址以开头
"/tmpfiles/"
。因此,如果有人要求
"/tempfiles/example.txt"
,我们希望服务器发送文件
"/tmp/example.txt"

为了实现这一点,我们必须

"/tmpfiles"
从URL中删除,其余的将是与根文件夹相比的相对路径
"/tmp"
,如果我们加入,则根目录将给出:

/tmp/example.txt


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380863.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号