美文网首页
Http协议报文结构

Http协议报文结构

作者: 托尼章 | 来源:发表于2017-05-08 15:47 被阅读0次

    概述

    Http是基于客户端/服务端(C/S)的架构模型,通过一个可靠链接(TCP)来交换数据.

    • 无连接:服务端处理完客户的请求,并收到客户的应答后,即断开连接.
      早期html网页面都是静态的简单的,这样做能节省服务端的资源,尽可能多的为更多客户端提供服务.
      后来html页面变得非常复杂,可能嵌入很多图片等资源,如果每次访问一个图片都要重新建立tcp连接就太低效了,所以人们提出了Keep-Alive来解决低效问题,客户端和服务器之间的HTTP连接会被保持不会断开(超过Keep-Alive规定的时间,意外断电等情况除外).当客户端发送另外一个请求时,就使用这条已经建立的连接.

    • 无状态:是指服务器端不知道客户端是什么状态,每个请求都是独立的.现在http的请求也是无状态的.人们使用Cookie或者session来解决无状态问题.

    请求报文结构

    请求报文:从客户端向服务端发送器请求报文.结构如下:

    Request.png
    由四部分组成:
    • 请求行 -- > 请求方法+URL+协议版本
    • 请求头部 --> 头部字段名 : 值
    • 空行
    • 请求数据

    请求方法

    指请求报文的类型,实际上就是一些命令,表示对请求对象的操作.常用方法如下表:

    方法 含义
    OPTION 请求一些选项的信息
    GET 请求读取由URL所标志的信息
    HEAD 请求读取由URL所标志的信息的首部
    POST 给服务器添加信息(例如,注释)
    PUT 在指明的URL下存储一个文档
    DELETE 删除指明的URL所标志的资源
    TRACE 用来进行回环测试的请求报文
    CONNECT 用于代理服务器

    响应报文结构

    响应报文:从服务端到客户端的应答.

    Resply.png

    由四部分组成:

    • 状态行 --> 协议版本 + 状态码 + 短语
    • 响应头部 --> 头部字段名:值
    • 空行
    • 响应数据

    状态码

    • 1XX:提示信息---请求已经收到,继续处理.
    • 2XX:成功 --- 请求已经收到,理解,接受
    • 3XX:重定向 --- 要完成请求必须进行更进一步的处理
    • 4XX:客户端错误 --- 请求有语法错误或无法实现
    • 5XX:服务端错误 --- 服务器未能实现合法的请求

    相关文章

      网友评论

          本文标题:Http协议报文结构

          本文链接:https://www.haomeiwen.com/subject/ntgmtxtx.html