HTTP 协议
- HTTP 协议出现背景
- HTTP 协议是什么
- HTTP 协议有什么
尝试写一个 hello world 服务器
尝试用 gin 写一个 hello world 程序,达到以下效果
HTTP 框架中常见概念
-
框架路由:根据请求的 URI 选择对应的处理函数。
-
首先匹配 HTTP 方法
-
静态路由: 精确匹配注册的路由,如:/a/b/c、/a/b/d
-
参数路由:
- 命名参数:形如 **
:name**这类叫做命名参数,命名参数只匹配单个路径段: -
sql 复制代码 Pattern: /user/:user /user/gordon match(user = gordon) /user/you match(user = you) /user/gordon/profile no match /user/ no match - 通配参数:形如 **
*action**这类叫做通配参数,就像名字所暗示的那样,它们匹配所有内容。因此,它们必须始终位于模式的末尾: -
ini 复制代码 Pattern: /src/*filepath /src/ match(filepath = "") /src/somefile.go match(filepath = somefile.go) /src/subdir/somefile.go match(filepath = subdie/somefile.go)
- 命名参数:形如 **
-
路由修复: 如果只注册了 /a/b,但是访问的 URI 是 /a/b/,那可以提供自动重定向到 /a/b 能力;同样,如果只注册了 /a/b/,但是访问的 URI 是 /a/b,那可以提供自动重定向到 /a/b/ 能力
-
冲突路由:同时注册 /a/b 和 /:id/b,并设定优先级。比如:当请求 URI 为 /a/b 时,优先匹配静态路由 /a/b
-
Golang
- sync.Pool 用法
网络库
- C10K Problem
- Select,Poll,Epoll
- Epoll ET、LT 区别
- 字节跳动自研网络库 netpoll,netpoll-examples
SIMD
- SIMD 是什么,可参考维基百科