zoukankan      html  css  js  c++  java
  • 图解HTTP-02-HTTP协议简介

    一、HTTP协议用于客户端和服务端进行通信

    发出请求的是客户端,接收请求作出响应的是服务端。

    二、请求报文

     三、响应报文

    四、HTTP使用URI让客户端定位到资源

    五、HTTP请求方法

    1、GET方法

    获取资源。

     2、POST方法

    传输实体主体。

    get方法也可以用于传输实体主体,但一般不用get方法进行传输。get与post类似,但post主要目的不是获取响应的主体内容。

     

     3、PUT方法

    传输文件。该方法本身没有验证机制,任何人都可以上传文件,有安全性问题,一般不用。

     4、HEAD方法

    获得报文首部。与get方法相似,但不发挥报文主体内容,用于确认URI的有效性以及资源更新更新的日期时间。

     

     

     5、DELETE方法

    删除文件,与PUT方法相反。不带验证机制。

     6、OPTIONS方法

    咨询支持的方法,用来查询针对请求URI指定的资源支持的方法

     

     7、TRACE方法

    追踪路径。发送请求时添加上MaX-fORWARDS首部字段,设为一个值,每经过一个服务端就将该数字减一,当数值刚好减为0时,就停止继续传输,租后会接收到服务端返回的状态码 200 OK。

    可以查询到发送出去的请求时怎么样被加工/修改的。

     8、CONNECT方法

    要求用隧道协议连接代理。利用隧道协议实现TCP连接。利用SSL(安全套接字)和TLS(传输层安全)协议把通信内容加密

    小结:

    六、持久连接

    HTTP keep-alive       HTTP connection resuse。只要任意一端没有明确提出断开连接,则保持TCP连接。

    HTTP/1.1默认的都是持久连接。建立1次连接之后进行多次请求和响应的交互。

    持久连接可以做到同时发送多个请求,而不是一个接一个的等待响应。

    七、cookie状态管理

    HTTP是无状态的,不对之前的请求和响应的状态进行管理。

    1、第一次通信

    2、后面的通信

    小结:

  • 相关阅读:
    js右击事件
    css中的特殊居中
    js实现轮播图
    css画三角形
    Elasticsearch-5.5.0安装head插件
    Elasticsearch报错:NodeDisconnectedException[[][IP:9300][cluster:monitor/nodes/liveness] disc
    mybatis foreach多次遍历问题
    Java使用File.separator解决Win和Linux的路径问题
    WebStorm 代码提示快捷键
    springmvc 前台传日期(字符串) 后台用date接收封装失败(请求400)
  • 原文地址:https://www.cnblogs.com/1220x/p/11784508.html
Copyright © 2011-2022 走看看