报文流

HTTP报文是在HTTP应用程序之间发送的数据块,这些数据块以文本形式的元信息开头,这些信息描述了报文的内容及含义,后面跟着可选的数据部分。
这些报文在客户端,服务器和代理之间流动。

报文的组成成分

HTTP报文是简单的格式化数据块,由三个 部分组成:

  • 对报文进行描述的起始行(start line)
  • 包含属性的首部(header)块
  • 可选的,包含数据的主体(body)部分,可以包含文本或二进制数据,也可以为空

报文的语法

所有的HTTP报文都可以分为两类,请求报文和响应报文。
请求报文格式如下:

<method> <request-URL> <version>
<headers>
<entity-body>
  • 方法:HTTP中定义了一组常用的请求方法,告知服务器要做什么事情
  • 请求URL:命名了所请求资源

响应报文格式如下:

<version> <status> <reason-phrase>
<headers>
<entity-body>
  • 状态码:描述请求过程中所发生的情况,告诉客户端,发生了什么事
  • 原因短语: 数字状态码的可读版本

报文的其他组成详情:

  • 版本号:为使用HTTP的应用程序提供一种线索,以便相互了解对法的能力和报文格式
  • 首部:名/值对的列表
  • 主体部分: HTTP要传输的内容

方法(method)

  • GET:通常用于请求服务器发送某个资源
  • HEAD: 通常用于请求服务器在响应中返回首部,不会返回实体的主体部分,这样可以了解资源情况,判断其是否村子,查看其是否被修改
  • PUT:向服务器写入文档,让服务器用请求的主体部分来创建一个所请求的URL命名的新文档
  • POST: 向服务器中输入数据,通常用它来支持HTML的表单
  • TRACE: 客户端发起请求后,请求可能要穿过防火墙,代理,网关等,每个中间节点都有可能会修改原始的HTTP请求,TRACE允许客户端在最终将请求发送给服务器时,看看它变成了什么样子
  • OPTIONS:询问服务器通常支持哪些方法
  • DELETE:请求服务器删除请求URL所指定的资源

状态码

  1. 100~199:信息性状态码
  2. 200~299:成功状态码
  3. 300~399:重定向状态码
  4. 400~499: 客户端错误状态码
  5. 500~599:服务器错误状态码

《HTTP权威指南》3-HTTP报文的更多相关文章

  1. 【HTTP权威指南】第1 章 HTTP 概述

    1.1 HTTP--因特网的多媒体信使 ................................................................................ ...

  2. HTTP 权威指南 详解 ( 一、概述 )

    HTTP 权威指南 详解 ( 一.概述 ) 最近在解读 <http权威指南> 这本书.之前对于http 的理解仅限于 知道我需要向服务端发送一个 get or post 请求,然后等待服务 ...

  3. 《HTTP权威指南》读书笔记(一)

    1.因特网上有数千种不同的数据类型,HTTP仔细地给每种要通过Web传输的对象都搭上了名为MIME类型的数据格式标签.WEB服务器会为所有HTTP对象数据附加一个MIME类型.当Web浏览器从服务器中 ...

  4. 《http权威指南》读书笔记18

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  5. 《http权威指南》读书笔记14

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  6. 《http权威指南》读书笔记13

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  7. 《http权威指南》读书笔记12

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  8. 《http权威指南》读书笔记11

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  9. 《http权威指南》读书笔记7

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

随机推荐

  1. 去除web项目中的css、js缓存

    <link rel="stylesheet" type="text/css" href="~/Content/Home.css?param=Ma ...

  2. 登录界面,body上有背景图,点击输入框时,弹出的手机键盘会把背景图顶变形,而且会把footer顶上去

    js: //防止背景图被手机键盘压缩变形 $(document).ready(function () { $('body').css({'height':$(window).height()}) }) ...

  3. String、StringBuilder、StringBuffer 区别

    public static void testStringBuffer(){ long start System currentTimeMillis(); StringBuffer sbuf = ne ...

  4. CMakeLists 的使用,大型工程使用cmake 的构件过程

    CMakeLists 的使用,大型工程使用cmake 的构件过程 CMakeLists_1 PROJECT(hello_2) cmake_minimum_required(VERSION 2.8) # ...

  5. web前端技术体系大全

    一.前端技术框架 1.Vue.js 官网:https://cn.vuejs.org/ Vue CLI:https://cli.vuejs.org/ 菜鸟教程:http://www.runoob.com ...

  6. MUI 添加自定义图标(注意点)

    参考: https://blog.csdn.net/qq_39759115/article/details/79436606 注意: 1. 将这个原来的逗号改成分号 2. 这些图标的名字都可以改名字

  7. How to Read a Paper

    How to Read a Paper 原文: https://www.yuque.com/lart/papers/yrkv5u 题目:How to Read a Paper 作者:S. Keshav ...

  8. Mad Libs游戏

    一. 简单的输入输出 输入代码 name1=input('请输入姓名:') name2=input('请输入一个句子:') name3=input('请输入一个地点:') name4=input('请 ...

  9. [精华][推荐]CAS SSO单点登录服务端客户端学习

    1.通过下载稳定版本的方式下载cas的相关源码包,如下: 直接选择4.2.1的稳定代码即可 2.我们项目中的版本版本使用maven apereo远程库去下载 通过远程maven库下载cas-serve ...

  10. Python 数据可视化 -- pillow 处理图像

    Python 图像库(Python Image Library,PIL)为 Python 提供了图像处理能力. PIL 官网:http://www.pythonware.com/products/pi ...