http

作者: 阿凯_8b27 | 来源:发表于2019-08-08 09:48 被阅读0次

    http协议     全称HyperText Transfer Protocol,超文本传输协议,一种比较广泛的网络传输协议

    工作原理

    客户端向服务端发生消息,服务接受请求后想客户端发送响应信息

    http默认端口80
    http是无连接 ,连接一次后就断开,确定效率
    http是媒体独立,任何类型都可以通过参数来指定
    http是无状态的    对事务处理没有记忆能力,缺少状态意味后续的东西需要前面的东西就需要重新传输

     基础方法 GET, POST 和 HEAD方法。
     扩展六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

    状态码

    200 - 请求成功

    301 - 资源(网页等)被永久转移到其它URL

    404 - 请求的资源(网页等)不存在

    500 - 内部服务器错误

    403收到资源网络权限限制,不让访问

    content-type 代表资源类型
    具体可在network下看,xhr调用服务端,img图片  等

    1.Expires 响应头,代表该资源的过期时间。

    服务器和浏览器约定文件过期时间,用 Expires 字段来控制,时间是 GMT 格式的标准时间,如 Fri, 01 Jan 1990 00:00:00 GMT。

    2.Cache-Control 请求/响应头,缓存控制字段,精确控制缓存策略。

    为了兼容已经实现了上述方案的浏览器,同时加入新的缓存方案,服务器除了告诉浏览器 Expires ,同时告诉浏览器一个相对时间 Cache-Control:max-age=10秒。意思是在10秒以内,使用缓存到浏览器的 a.js 资源。

    浏览器先检查 Cache-Control,如果有,则以 Cache-Control 为准,忽略 Expires。如果没有 Cache-Control,则以 Expires 为准

    public,资源允许被中间服务器缓存。

    浏览器请求服务器时,如果缓存时间没到,中间服务器直接返回给浏览器内容,而不必请求源服务器。

    private,资源不允许被中间代理服务器缓存。

    浏览器请求服务器时,中间服务器都要把浏览器的请求透传给服务器。

    no-cache,浏览器不做缓存检查。

    每次访问资源,浏览器都要向服务器询问,如果文件没变化,服务器只告诉浏览器继续使用缓存(304)。

    no-store,浏览器不缓存资源。

    每次访问资源,浏览器都要请求服务器,并且,服务器不去检查文件是否变化,而是直接返回完整的资源。

    must-revalidate,可以缓存,但是使用之前必须先向源服务器确认。

    proxy-revalidate,要求缓存服务器针对缓存资源向源服务器进行确认。

    s-maxage:缓存服务器对资源缓存的最大时间。

    3.If-Modified-Since 请求头,资源最近修改时间,由浏览器告诉服务器。

    携带信息,当 a.js 过期时,浏览器带上 If-Modified-Since(等于上一次请求的Last-Modified) 请求服务器。

    4.Last-Modified 响应头,资源最近修改时间,由服务器告诉浏览器。

    携带信息 ,还要告诉浏览器 a.js 在服务器上的最近修改时间 Last-Modified (GMT标准格式)

    5.Etag 响应头,资源标识,由服务器告诉浏览器。

    为了解决文件修改时间只能精确到秒带来的问题,我们给服务器引入 Etag 响应头,a.js 内容变了,Etag 才变。内容不变,Etag 不变,可以理解为 Etag 是文件内容的唯一 ID。

    同时引入对应的请求头 If-None-Match,每次浏览器请求服务器的时候,都带上If-None-Match字段,该字段的值就是上次请求 a.js 时,服务器返回给浏览器的 Etag。

    If-None-Match 请求头,缓存资源标识,由浏览器告诉服务器。

    基础缓存方式

    版本号:<script src="http://test.com/a.js?version=0.0.1"></script>

    MD5hash 值来区分。<script src="http://test.com/a.【hash值】.js"></script>

    相关文章

      网友评论

          本文标题:http

          本文链接:https://www.haomeiwen.com/subject/lleadctx.html