关于跨域请求的设置:
#设置跨域请求的域名 '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'