一、Accept和Content-Type区别:
Accept代表发送端(浏览器)希望接收的数据类型和服务器端的@Produces相匹配
Content-Type代表发送端(浏览器)发送的实体数据的数据类型和服务器端的@Consumes相匹配
二、vary(为缓冲而生)
vary主要用在有服务器返回数据时添加的头部信息;
vary头的内容来自当前请求的request头部
缓冲服务器进行网络请求数据缓冲时,会将vary一起缓冲
http再次请求时,缓冲中的vary信息会和请求的request的请求比较,如果相同,才能获取缓冲中的信息
三、multipart/form-data
文件上传的两种方式:
1、http表单上传文件时所用的类型
2、当然文件的上传也可以使用下面的第四点文件下载所陈述的那种方式
这里主要讲的是表单的文件上传方式:
请求头:content-type:multipart/form-data;boundary=-------------------------wwdqwdmqpdqpoeeqoeqwoo
要获取这样子的请求体,需要特定的拦截器经行处理以后,才可以获取到,自己也可以实现,但是比较麻烦。
全部请求如下:
四、文件的下载 (http方式)
@Produces(application/octet-stream)
下载的时候请求头里必须设置下面的字段:
builder.header("Content-Disposition", "attachment;filename=License");