写的node服务里,把解决跨域的代码注释掉后,依然会返回access-control-allow-origin:*,重启均注释无效,但改变服务端口后注释就生效了,故怀疑是有缓存。

    服务端修改返回值不会使用缓存
    服务端不修改返回值(比如修改响应头),且是get请求则会被缓存

    果然请求和响应都有:
    If-None-Match: W/“13-0lvqfZmCqhB4A0ZYwoHr0yzfkC4”
    ETag: W/“13-0lvqfZmCqhB4A0ZYwoHr0yzfkC4”

    1.使用post请求则不会被缓存,修改响应头也能立即生效;
    2.清除浏览器的缓存,则能生效;
    3.服务写明不能被缓存,"Cache-Control", "no-cache, no-store, max-age=0, must-revalidate"(其实no-store就可以了)