关于跨域请求的设置:
#设置跨域请求的域名
'Access-Control-Allow-Origin' : '*'
#设置跨域请求的头部k/v值
'Access-Control-Allow-Headers' : ''
#设置跨域http请求方法
'Access-Control-Allow-Methods' : 'PUT,POST,DELETE'
#预请求有效时长
'Access-Control-Max-Age' : '1000'
关于缓存的设置:
#max-age:缓存有效时间(单位S)
#s-maxage:代理缓存的有效时间
#public:浏览器、代理服务器等所有资源经过的节点都可以缓存
#private:只有发起请求的浏览器可以缓存数据
#no-cache: 使用缓存前预先去服务器验证是否可以使用缓存
#no-store: 禁止使用任何缓存
'Cache-Control' : 'max-age=180,public'
#只有请求头中的x-text-cache的值相同的情况下才返回缓存
'Vary' : 'X-text-cache'
关于数据协商:
#客户端发送希望得到的数据格式,包括数据类型,数据编码,数据语言:
#浏览器作为客户端发送请求的时候会默认将这些信息加入http头部
'Accept' : ''
'Accept-Encoding' : ''
'Accept-Language' : ''
'User-Agent' : ''
#服务端返回的数据格式,gzib表示数据压缩
'Content-Type' : ''
'Content-Encoding' : 'gzib'
'Content-Language' : ''
关于缓存验证的设置:
#数据修改的时间,服务器端回返回一个If-Modified-Since,下次客户端
#请求数据,会将这个字段发给服务器,服务器将该字段值与Last-Modified
#的值进行对比,一样则返回304,告诉客户端可以使用缓存,不一样则返回
#新的数据
'Last-Modified' : ''
#数据签名,通过携带数据内容hash值来判断数据是否修改,服务器回返回
#If-None-Match字段作为数据是否改变的对比
'Etag': ''
关于redirect的设置:
#http返回code是302,301
#302 客户端每次请求,都会先请求老的url,然后再跳转到新的url
#301 客户端第一次请求后,会将新的url直接缓存到客户端,下次请求直接请求新的url
#301只有在浏览器手动清理缓存后,才会失效,不然每次请求客户端不再像服务器发起
#请求,而是直接读取本地内存进行访问
'Location' : '$url'