Tag: Nginx

HTTP 请求的优雅取消(Graceful Cancellation)

我们经常会写一些“很慢”的 HTTP 接口:比如触发导出、跑一段复杂计算、调用外部服务、或者生成大文件。 问题在于:客户端可能在任务完成前就取消了请求(关闭页面、点了取消、网络切换、超时等)。 那服务端能不能“及时知道”客户端已经取消?如果能知道,就可以尽早停止后续的昂贵操作,省 CPU/IO/下游资源。 这篇文章用一个简单的 Go + Gin 示例,把常见场景拆开说清楚: 不经过 Nginx:

HTTP Graceful Cancelation

Imagine we are writing an HTTP server as described below, where the endpoint takes a long time to complete. When a client starts a request, it may cancel it before the long-running task is completed.