headers:web
Cache-Control浏览器
1.Pragma。 设置页面是否缓存,为Pragma则缓存,no-cache则不缓存。缓存
(1)max-age=600。 表示文件在本地应该缓存,且有效时长是600秒(从发出请求算起)。在接下来600秒内,若是有请求这个资源,浏览器不会发出 HTTP 请求,而是直接使用本地缓存的文件。服务器
(2)no-cache。实际上她是会被缓存的,只不过每次在向客户端(浏览器)提供响应数据时,==缓存都要向服务器评估缓存响应的有效性==websocket
(3)no-store
响应不被缓存的意思。网络
Last-Modified / If-Modified-Since
(1)Last-Modified: 标示这个响应资源的最后修改时间。web服务器在响应请求时,告诉浏览器资源的最后修改时间。dom
(2)If-Modified-Since:
当资源过时时(使用Cache-Control标识的max-age),发现资源具备Last-Modified声明,则再次向web服务器请求时带上头 If-Modified-Since,表示请求时间。若服务端请求资源的最后修改时间较新,则响应资源内容(HTTP 200);若最后修改时间较旧,则响应HTTP 304,告知浏览器继续使用所保存的cache。socket
Etag/If-None-Match: Etag/If-None-Match也要配合Cache-Control使用。
(1)Etag: web服务器响应请求时,告诉浏览器当前资源在服务器的惟一标识(生成规则由服务器以为)xss
(2)If-None-Match: 当资源过时时(使用Cache-Control标识的max-age),发现资源具备Etage声明,则再次向web服务器请求时带上头If-None-Match (Etag的值)。服务器与被请求资源的相应校验串进行比对,决定返回200或304。tcp
既生Last-Modified何生Etag?
HTTP1.1中Etag的出现主要是为了解决几个Last-Modified比较难解决的问题:
(1) Last-Modified标注的最后修改只能精确到秒级,若是某些文件在1秒钟之内,被修改屡次的话,它将不能准确标注文件的修改时间。
(2) 若是某些文件会被按期生成,当有时内容并无任何变化,但Last-Modified却改变了,致使文件无法使用缓存。
(3) 有可能存在服务器没有准确获取文件修改时间,或者与代理服务器时间不一致等情形。
Last-Modified与ETag是能够一块儿使用的,服务器会优先验证ETag,一致的状况下,才会继续比对Last-Modified,最后才决定是否返回304。
HTTP: Status 200 – 服务器成功返回网页 301 永久转移 302 临时转移 304 not modified 400 bad request 401 not auth 403 forbidden 500 内部错误 HTTP: Status 404 – 请求的网页不存在 HTTP: Status 503 – 服务不可用
想`
是一个基于tcp的网络协议,实现了服务端与客户端的互相通信,服务器能够主动向客户端通信
跨站脚本攻击是指服务端未对用户输入作验证
使得HTML直接执行用户输入的恶意脚本
伪造用户请求,好比访问a网站以后,用户访问了恶意的b网站,b网站回向a网站发送恶意请求
避免使用get进行敏感操做使用token令牌