• HTTP协议总结


    一、HTTP协议的特点:

    • 简单快速: 每个资源是固定的URI
    • 灵活:通过一个HTTP协议可以完成不同的数据类型的传输
    • 无连接: 连接一次就会断开,不会保持连接
    • 无状态 :客服端和服务端是两种身份,一次连接后就断开,下次再连接,服务端无法区分两次是否由同一客户端发起的请求

    二、HTTP方法:

    get:获取资源

    post:传输资源

    put:更新资源

    delete:删除资源

    head:获取报文首部

    OPTIONSOPTIONS方法用于描述目标资源的通信选项。

    TRACE:TRACE方法沿着到目标资源的路径执行一个消息环回测试。

    CONNECT:CONNECT方法建立一个到由目标资源标识的服务器的隧道。

    三、GET与POST的区别

    四、HTTP报文格式

    请求报文:请求行 --请求方法、HTTP版本、URL地址;请求头 --一些key-value值;空行--用于分隔请求头和请求体;请求体

    响应报文:响应行 --HTTP协议版本号、响应返回状态码、响应描述;响应头、 响应体

    五、HTTP状态码

    1XX:指示信息--表示请求已接收到,继续处理

    2XX:成功--表示请求已成功接收

    3XX:重定向--要完成请求必须进行进一步的操作

    4XX:客户端错误--请求有语法错误或无法实现

    5XX:服务端错误--服务器未能实现合法的请求

    206:常见于视频文件太大时,只返回一部分

    301:永久重定向

    302:临时重定向

    304:未修改 (向服务器确认资源是否修改时,如果没有修改就会返回304)

    cache-control:max-age=value:
    1、max-age>0 时 直接从游览器缓存中 提取 
    2、max-age<=0 时 向server 发送http 请求确认 ,该资源是否有修改有的话返回200 ,未修改的话返回304. 

    在请求头里有:If-Modified-Since: Mon, 17 Aug 2015 01:53:41 GMT

    在响应头里有:Last-Modified: Mon, 17 Aug 2015 01:53:41 GMT

    两个时间一致,就会去缓存中加载资源

    五、持久化和管线化

    普通模式下,每发送一次HTTP请求,都会建立一个连接,完成后就断开连接

     持久连接(HTTP1.1版本支持):当使用Keep-Alive(持久连接)时,当出现对服务端的后续请求时,Keep-Alive功能避免了建立或重新建立连接。

    管线化:持久连接的情况下,所有请求一次性打包发送,所有响应也一次性打包返回。

     参考文章:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods

  • 相关阅读:
    eclipse里maven项目An error occurred while filtering resources解决办法
    python中分页使用
    es学习
    cmdb资产管理2
    saltstack安装使用
    Django Rest Framework
    免交互批量分发公钥的实现
    单链表复制早已难不到你,但若我们再加个指针...
    面试 16:栈的压入压出队列(剑指 Offer 第 22 题)
    面试 15:顺时针从外往里打印数字(剑指 Offer 第 20 题)
  • 原文地址:https://www.cnblogs.com/jingmi-coding/p/9254800.html
Copyright © 2020-2023  润新知