当前位置: 首页 > 工具软件 > HttpRouter > 使用案例 >

go语言web开发实战之使用httprouter

袁子瑜
2023-12-01

仓库:https://github.com/julienschmidt/httprouter

1.简介

HttpRouter是一种轻量高性能的HTTP请求路由器(也称为多路复用器)。

与Go中net/http包的默认mux相比,此路由器支持路由模式中的变量并匹配请求方法。

该路由器针对高性能和小内存占用进行了优化。

即使有很长的路径和大量的路由,它也能很好地扩展。

2.特性

2.1 仅显式匹配

对于其他路由器,如http.ServeMux,请求的 URL 路径可以匹配多个模式。

因此他们有一些笨拙的模式优先规则,比如最长匹配或先注册,先匹配。

通过这个路由器的设计,一个请求只能匹配一个路由或者没有路由。

因此,也没有意外匹配,这对于 SEO 非常有用并改善了用户体验。

2.2 不再关心尾部斜杠

选择您喜欢的 URL 样式,如果缺少尾部斜杠或多出一个,路由器会自动重定向客户端。

当然,只有在新路径有处理程序的情况下才会这样做。如果你不喜欢它,你可以关闭这个行为。

2.3 路径自动更正

除了无需额外成本检测丢失或额外的尾部斜杠外,路由器还可以修复错误情况并删除多余的路径元素(如../或//)。

HttpRouter 可以通过进行不区分大小写的查找并重定向到正确的 URL。

2.4 路由模式中的参数

 类似资料: