HttpServletResponse setHeader 和 addHeader区别

//用setHeader和addHeader随便随便设置一个头部
response.setHeader("EL", "1000");
response.setHeader("EL", "2000");
response.addHeader("EL", "4000"); response.addHeader("EL", "5000"); response.addHeader("EL", "5000");

查看浏览器:set方法设置两个EL头却只显示了一个的,add方法添加的三个EL头都显示了

HttpServletResponse setHeader 和 addHeader区别

控制台中输出EL头的个数:和浏览器一致,只有4个EL头

 Collection<String> coll = response.getHeaders("EL");
for (String str : coll) {
        System.out.println(str);
}
System.out.println("EL头部个数:" + coll.size());

HttpServletResponse setHeader 和 addHeader区别

在add方法下面再用set方法设置一次EL头:

response.setHeader("EL", "9000");

再次查看浏览器、控制台:只剩一个头了

HttpServletResponse setHeader 和 addHeader区别

HttpServletResponse setHeader 和 addHeader区别

所以同名的响应头可以有多个,每调用一次 addHeader() 方法添加一个响应头,而调用 setHeader() 方法后会覆盖且只保留一个同名的响应头。

上一篇:前后端分离,springboot项目后台解决前台跨域问题


下一篇:Python利用shadon进行信息收集