二、HTTP各种特性总览

本文主要参考慕课网Jokcy老师课程HTTP协议原理+实践

请支持正版,抵制盗版,维护每一位辛苦付出的人的合法权益!

本章关键词:cors、缓存、cookie、session、Redirect、CSP

开始更新http基础相关内容,先发一部分,本系列会很快完结,后续内容待定,可能是并发内容,也可能数据结构

一、认识HTTP客户端

  • 最常用的HTTP客户端:浏览器


    curl请求.png

二、CORS跨域请求的限制与解决

  • 服务端返回的时候,返回头加入:Access-Control-Allow-Origin:'*'

这个是浏览器提供的功能,浏览器会判断跨域的返回头是否有Access-Control-Allow-Origin,否则浏览器会屏蔽返回内容
浏览器允许在标签中加载链接(如src)跨域

  • 跨越其他解决方案和http协议没太大关系,暂时未列出

三、CORS跨域限制以及预请求验证

  • 跨越的时候允许的方法

GET HEAD POST

  • 允许的Content-Type

text/plain multipart/form-data application/x-www-form-urlencoded

  • 预请求
    Access-Control-Allow-Headers 允许的请求头

四、缓存头Cache-Control的含义和使用

1.特性

  • 可缓存性

public/ private/ no-cache

  • 到期

max-age=/s-maxage=/max-stale=

  • 重新验证

must-revalidate/proxy-revalidate

  • 其他

no-store/no-transform

五、缓存验证Last-Modified和Etag的使用

1.Last-Modified

  • 上次修改时间
  • 配合If-Modified-Since或者If-Unmodified-Since使用
  • 对比上次修改时间以验证资源是否需要更新

2.Etag

  • 数据签名
  • 配合If-Match或者If-Non-Match使用
  • 对比资源的签名判断是否使用缓存

六、cookie和session

1.cookie

  • 定义:
    是在服务端返回数据的时候通过Set-Cookie设置到浏览器,保存到浏览器里面的内容
  • 下次请求会自动带上
  • 键值对,可以设置多个
  • 属性
    max-age和expires设置过期时间
    Secure只在https的时候发送
    HttpOnly无法通过document.cookie访问

2.session

  • 使用最多的是使用cookie保存session,但是session的实现方法不止这一种

你可能感兴趣的:(二、HTTP各种特性总览)