浏览器同源政策及其规避方法
http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html

跨域资源共享 CORS 详解
https://www.ruanyifeng.com/blog/2016/04/cors.html
此篇文章貌似没给出太具体的解决

springboot被请求的api 可以加@CrossOrigin解决

https://www.cnblogs.com/xdp-gacl/p/3789624.html HttpServletResponse对象介绍

https://www.jianshu.com/p/8bc6b82403c5 一篇差不多的介绍 貌似结构清晰一些

同一个人讲的 HttpServletRequest和HttpServletResponse
https://blog.csdn.net/qq_34666857/article/details/104677407

https://blog.csdn.net/qq_34666857/article/details/104838171

廖雪峰结合servlet讲的
https://www.liaoxuefeng.com/wiki/1252599548343744/1328705066500130

  Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。
request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。

  HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。查看HttpServletResponse的API,可以看到这些相关的方法。

之前跨域出问题 就是因为@CrosOrigin注解会让spring会往response里加Access-Control-Allow-Origin解决跨域 但是我操作了response把这个头给重置掉 写到这我去试了一下再给那个下载的respose加一个Access-Control-Allow-Origin头 果然跨域问题解决了

http get 可以开始下载 ajax get url不能开始下载 为什么? 其实硬要也可以 但是通常都是http get啊https://www.cnblogs.com/nuccch/p/7151228.html

1,负责向客户端(浏览器)发送数据的相关方法 **

1.getOutputStream() 该方法用于返回Servlet引擎创建的字节输出流对象,Servlet程序可以按字节形式输出响应正文。
2.getWriter() 该方法用于返回Servlet引擎创建的字符输出流对象,Servlet程序可以按字符形式输出响应正文。