虽然 io 包提供了不少类型、方法和函数,但有时候使用起来不是那么方便。比如读取一个文件中的所有内容。为此,标准库中提供了一些常用、方便的IO操作函数
Go/Openresty性能测试
业务中需要开发一个简单的日志接口,接受参数然后写文件,同事用openresty实现了一版,我用go实现了一版作为对比,结果如下
curl命令
命令行操作
|
|
php扩展操作
get请求
|
|
post请求
|
|
cookie操作
|
|
https请求
|
|
应用
模拟验证码登陆
|
|
资料
Go标准库之http.Hijacker
了解Http.Hijacker
Go 的 http 包提供了一个 Hijacker 接口类型,如果我们不想使用 Go 的 http 连接默认行为,我们通过使用这个接口,“劫获” http 连接,并且把它转换成我们自己的管理方式。
一旦我们“劫获”了原来的http连接,我们可以自己操控这个连接(也意味着需要自己处理连接的关闭)。通常,我们还可以把劫获的 http 转换成 websocket 或者 rpc 等方式,
未命名
简介
bufio 包实现了缓存IO。它包装了 io.Reader 和 io.Writer 对象,创建了另外的Reader和Writer对象,它们也实现了io.Reader和io.Writer接口,不过它们是有缓存的。该包同时为文本I/O提供了一些便利操作。
Go标准库之bytes.buffer
简介
bytes.Buffer
A buffer is a variable-sized buffer of bytes with Read and Write methods. The zero value for Buffer is an empty buffer ready to use.
buffer是一个提供了各种读写方法的可变大小的缓冲区。缓冲区零值表示这是一个待使用的空缓冲区。
https代理原理及实现
简介
http代理的实现比较简单,客户端请求发送给代理,代理拿着请求去请求远端服务器,然后将结果返回给客户端,而https无法沿用这个思路,原因是https消息内容是加密的,代理无法解析数据。
查询资料得知,可以利用一项叫http隧道的技术来实现代理。
http协议定义了CONNECT请求方式,该请求方式通常用于开启一个隧道