• 【面筋烧烤手册】HTTP请求专题


    HTTP请求专题

    1、状态码

    1XX 已被接受等待处理

    2XX 成功

    • 200 请求成功
    • 204 请求成功无资源(OPTIONS的返回状态码)
    • 206 partial content 范围请求 部分

    3XX 重定向

    • 301 永久性重定向 已被分配新URL(首部会有提示)
    • 302 临时分配新URL 要改POST为GET
    • 303 存在另一个资源
    • 304 请访问协商缓存
    • 307 临时重定向 不改POST

    301 302 303 POST改成GET

    4XX 客户端错误

    • 400 报文语法错误
    • 401 HTTP请求没通过认证
    • 403 forbidden 被服务器拒绝
    • 404 无资源
    • 405 禁止使用此方法,设置请求头OPTIONS看支持什么方法
    var Access-Control-Allow-Method = xhr.getResponseHeader('Access-Control-Allow-Method')
    var Access-Control-Allow-Origin = xhr.getResponseHeader('Access-Control-Allow-Origin')
    

    5XX 服务器错误

    • 500 执行请求出错
    • 502 服务器自身正常 但就是访问有问题
    • 503 暂时停机(可能超负载)无法处理请求

    2、HTTP缓存

    之前我们说到304的协商缓存,现在继续看看缓存的要点

    强缓存

    • HTTP 1.0 Expires 过期时间点
    • HTTP 1.1 Cache-control 过期时长计时

    协商缓存 (传tag和服务器协商)

    • last-modified 最后修改时间
      头部添加if- Modified- since字段

    • ETag 文档标识 是否有改动
      头部添加if- modified- match字段

    • 比较:

      • 性能:last modified 只用比时间(秒),因为秒所以小于秒的无法判断
      • 精度:ETag MD5生成Hash值
    • 不能缓存的原因:
      磁盘已满 页面不同源

    • 能缓存的条件:

      • GET HEAD
      • POST PUT 流式上传:基于HTTP2.0的帧和流 分块(成帧)传输时要缓存
      • 能使缓存失效的DELETE和PATCH

    3.请求方法区别

    GET和POST

    1. 缓存:
      GET主动缓存,POST默认不能
    2. 参数:
      GET参数直接在URL里,POS T在请求体里
    3. 编码:
      GET只能ASCII,POST支持更多
    4. 幂等:
      GET一次性发送请求,POST分header(状态码100)再发body ,收发多个
    5. 应用场景:
      GET 搜索关键字(页面传参 幂等发一个收一个)
      POST 注册(不幂等 发多个收一个)

    OPTIONS和HEAD

    • HEAD
      几乎和GET一样,只请求头部,可得到资源信息,用于测试链接有效性可不可以访问,可以返回100,类似于POST每次先发个Header看看是不是100
    • OPTIONS
      查看服务器性能,支持的HTTP请求方法,是否能跨域
      在建立连接的第一步xhr.getResponseHeader('Access-Control-Allow-Method和Origin')
  • 相关阅读:
    8款超酷体验的jQuery/CSS3应用插件
    6款基于SVG的HTML5CSS3应用和动画
    精妙无比 8款HTML5动画实例及源码
    超赞值得一试的六款jQuery插件和CSS3应用
    不容错过的七个jQuery图片滑块插件
    7款值得你心动的HTML5动画和游戏
    8款HTML5动画特效推荐源码
    绝对震撼 7款HTML5动画应用及源码
    8款超酷而实用的CSS3按钮动画
    10款强大的jQuery/HTML5应用新鲜出炉
  • 原文地址:https://www.cnblogs.com/SiriusZHT/p/14365043.html
Copyright © 2020-2023  润新知