zoukankan      html  css  js  c++  java
  • 图解HTTP(2)

    第2章 简单的HTTP协议

    1.HTTP协议在客户端和服务端之间的通信

    客户端:请求访问文本或图像等资源的一端。
    服务器端:提供资源响应的一端。

    注意:就一条通信路线来说,服务器端和客户端的角色是确定的,而用HTTP协议能够明确区分哪端是客户端,哪端是服务器端。

    2.通过请求和响应的交换达成通信

    过程:请求从客户端出发,最后服务器端响应该请求并返回。

    GET:请求访问服务的类型 ;

    /index.htm:请求访问的资源对象;

    HTTP/1.1:HTTP的版本号,用来提示客户端使用的HTTP协议功能;

    请求访问hackr.jp主机的/index.htm页面资源。

    HTTP/1.1:HTTP版本号

    200:状态码(status code)

    Date:创建响应的日期时间

    <html>...</html>:资源实体的主体

    3.HTTP是不保存状态的协议

    为了更快的处理大量事物,确保协议的可伸缩性,协议本身并不保留之前一切的请求或响应报文的信息。

    Cookie:可记录状态,后面会讲到。

    4.告知服务器意图的HTTP方法

    [1] GET 获取资源

    GET方法用来请求访问已被URI识别的资源。指定的资源经服务器端解析后返回相应内容。

    [2] POST 传输实体主体

    POST与GET都可以用来传输实体的主体。但POST的主要目的并不是获取相应的主体内容。

    [3] PUT 传输文件

    PUT方法用来传输文件。在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。

    [4] HEAD 获得报文首部

    HEAD方法和GET方法一样,知识不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等。

    [5] DELETE 删除文件

    DELETE方法按请求URI删除指定的资源。

    [6] OPTIONS 询问支持的方法

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

    [7] TRACE 追踪路径

    TRACE方法是让Web服务器端将之前的请求通信环回给客户端的方法。

    发送请求时,在Max-Forwards首部字段中填入数值,每经过一个服务器端就将该数字减1,当数值刚好减到0时,就停止继续传输。

    [8] CONNECT 要求用隧道协议连接代理

    CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL和TSL协议把通信内容加密后经网络隧道传输。

    CONNECT格式:CONNECT 代理服务器名:端口号 HTTP版本

    5. 使用方法下达命令

    方法的命令:向请求URI指定的资源发送请求报文

    HTTP/1.0和HTTP/1.1支持的方法

    6.持久接连节省通信量

    在HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接。

    但是在之后,一个HTML页面包含图片使得通信量剧集增加。

    持久连接:只要任意一端没有明确提出断开连接,则保持TCP连接状态。

  • 相关阅读:
    Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
    用户画像——“打标签”
    python replace函数替换无效问题
    python向mysql插入数据一直报TypeError: must be real number,not str
    《亿级用户下的新浪微博平台架构》读后感
    【2-10】标准 2 维表问题
    【2-8】集合划分问题(给定要分成几个集合)
    【2-7】集合划分问题
    【2-6】排列的字典序问题
    【2-5】有重复元素的排列问题
  • 原文地址:https://www.cnblogs.com/implanck/p/12247241.html
Copyright © 2011-2022 走看看