目前有个前端打点的 POST JSON 接口,每个客户端 5s 请求一次,因为前后端域名不是同一个,每次都会有 options 请求,不管是前端控制台还是后端日志,看着很不舒服,另一方面,如果请求量大,感觉会有无谓的性能消耗。
看微信读书的打点也是个 POST 接口,不过人家页面和接口,用的相同的域名。
我这边换域名是不现实了,调整方案想到两个:
大家有什么好的方式吗
1
kyuuseiryuu 2022-07-26 15:30:01 +08:00 via iPhone
网关层直接所有 option 请求拦截返回 200 就好了呗。
|
2
wtfedc OP @kyuuseiryuu 确实是个思路[👍]
|
3
yin1999 2022-07-26 15:54:49 +08:00
预检请求可以设置缓存时间啊,缓存两小时已经能减少很多请求了: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Max-Age
|
4
exonuclease 2022-07-26 16:12:55 +08:00
至少客户端不要乱搞 跨域请求发 options 是标准行为 至于服务端收到了你爱干啥干啥
|
5
wtfedc OP @yin1999 又涨姿势了,看了下 nginx 给 access-control-max-age 了 43200 秒,不过 query 里边放了时间戳,缓存没用上 [掀桌子]
|
6
wtfedc OP @exonuclease 流程上 options 确实是正经的
|
7
opengg 2022-07-26 18:22:14 +08:00
前端重写 header ,在 NGINX 上用 proxy_set_header() 恢复正确的 header ,除此之外一切都不需要变。
|
8
billzhuang 2022-07-26 18:22:21 +08:00
我也是加大缓存时间。
|
9
des 2022-07-26 18:34:14 +08:00 via iPhone
前端打点为什么不用 content-type plain/text
|