zoukankan      html  css  js  c++  java
  • HTTP 协议基础概念和报文结构

    基础概念

    1、WWW(World Wide Web,万维网)构建技术有3项:

    (1)把SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文本标记语言,即HTML(HyperText Markup Language,超文本标记语言)。

    (2)作为文档传输协议的HTTP(HyperText Transfer Protocol,超文本传输协议)。

    (3)指定文档所在地址的URL(Uniform Resource Locator,统一资源定位符)。

    2、1997年1月公布的HTTP/1.1是目前主流的HTTP协议版本,当初的标准是RFC2608,之后发布的修订版RFC2616就是当前的最新版本。(RFC(Request for Comments,征求修正意见书))

    3、通常使用的网络(包括互联网)是在TCP/IP协议族的基础上运行的,而HTTP属于它内部的一个子集。

    4、URI(Uniform Resource Identifier)统一资源标识符。URL(Uniform Resource Locator)统一资源定位符

    URI用字符串标识某一互联网资源,而URL表示资源的地点(互联网上所处的位置),URL是URI的子集。

    5、表示指定的URI,需要使用涵盖全部必要信息的绝对URI、绝对URL、相对URL

     

    6、HTTP是一种不保存状态的协议,即无状态协议,HTTP协议自身不对请求和响应之间的通信状态进行保存,也就是说在HTTP这个级别,协议对于发送过的请求或响应都不做持久化处理。为了实现期望的保存状态的功能,引入了Cookie的技术,有了Cookie再用HTTP协议通信,就可以管理状态了。

    7、持久连接

    HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接。如果一个页面包含多项内容的话,需要好多次请求,每次的请求都会造成无谓的TCP连接建立和断开,增加通信量的开销。

    为了解决上述TCP连接的问题,HTTP/1.1和一部分HTTP/1.0想出了持久连接(HTTP Persistent Connections,也称为 HTTP keep-alive 或 HTTP connection reuse)的方法。

    持久连接的特点是只要任意一端没有明确提出断开连接,则保持TCP连接状态。在HTTP/1.1中,所有的连接默认都是持久连接,但在HTTP/1.0中并未标准化。

    8、管线化

    持久连接使得多数请求以管线化(pipelining)方式发送成为可能。以前发送请求后需要等待并收到响应才能发送下一个请求,管线化技术出现后,不用等待响应也可直接发送下一个请求。

    报文结构

    请求报文的结构

     

    响应报文的结构

  • 相关阅读:
    leetcode108 Convert Sorted Array to Binary Search Tree
    leetcode98 Validate Binary Search Tree
    leetcode103 Binary Tree Zigzag Level Order Traversal
    leetcode116 Populating Next Right Pointers in Each Node
    Python全栈之路Day15
    Python全栈之路Day11
    集群监控
    Python全栈之路Day10
    自动部署反向代理、web、nfs
    5.Scss的插值
  • 原文地址:https://www.cnblogs.com/wbxk/p/6802713.html
Copyright © 2011-2022 走看看