HTTP权威指南-HTTP报文
在开始学习本章之前,先来提一些问题,什么是报文?如何创建报文?怎么去理解报文?以及报文的用处有哪些?
什么是报文?
可以这么去理解,如果说HTTP是因特网的信使,那么HTTP报文就是它用来搬东西的包裹了。
一、报文流
HTTP报文是在HTTP应用程序之间发送的数据块。这些数据块以一些文本形式的元信息开头,这新信息描述了报文的内容及含义,后面跟着可选的数据部分。
1.报文流入源端服务器
HTTP使用术语流入和流出来描述事物处理。
第一步流入源端服务器,工作完成后,会流回用户的Agent代理中。
2.报文向下流游动
不管是请求报文还是响应报文,所有报文都会向下游流动。
二、报文的组成部分
HTTP报文是简单的格式化数据块。
它们是由三部分组成:对报文进行描述的起始行、包含属性的首部块,以及可选的、包含数据的主体部分。
1.报文的语法
所有的HTTP报文都可以分为两类:请求报文和响应报文。请求报文会向 Web服务器请求的一个动作。响应报文会将请求的结果返回给客户端。
方法、请求URL、版本、状态码、原因短语、首部、实体的主体部分
2.起始行
请求报文的起始行说明了要做些什么,响应报文的起始行说明了发生了什么。
请求行:(请求报文)请求报文的起始行(方法、URL)、HTTP的版本。
响应行:(响应报文)HTTP的版本、数字状态码、原因短语。
方法:get、head、post、put、trace、options、delete。
状态码
原因短语:它为状态码提供了文本形式的解释。
版本号:版本号会以HTTP/x.y形式出现在请求报文和响应报文的起始行中。使用版本号的目的是为使用HTTP的应用程序提供一种线索,以便互相了解对方的能力和报文格式。比较版本时,每个数字都要单独比较。HTTP/2.22就比HTTP/2.3的版本要高。22>3
3.首部:向请求和响应报文中添加一些附加信息。
4.实体的主体部分:
可选的,是HTTP报文的负荷,就是HTTP要传输的内容。
5.版本的0.9的报文:
是HTTP协议的早起版本。是鼻祖,协议简单。
三、方法
1.安全方法
2.GET:通常用于请求服务器发送某个资源
3.HEAD:服务器响应中只返回首部,不会返回实体的主体部分。在不获取资源的情况下了解资源的情况;查看响应中的状态码,看看某个对象是否存在;查看首部,测试资源是否被修改了。l
4.PUT:想服务器写入文档。由于PUT允许用户对内容进行修改,所以很多WEB服务器都要求在执行PUT之前,用密码登陆。
5.POST:通常用于表单。
6.TRACE:客户端发起一个请求,这个请求可能要穿过防火墙、代理、网关或者其他一些应用程序。每个中间节点可能会修改原始的HTTP请求。原始报文是否,以及如何被毁坏和修改过。
这个方法主要用于诊断。用于验证是否入院穿过了请求/响应链。..........
7.OPTIONS:options请求WEB服务器告知其支持的各种功能。使其不用实际访问那些资源就能判定访问各种资源的最优方式。
8.DELETE:请服务器删除请求URL所指定的资源。
9.扩展方法:指的就是没有在HTTP/1.1规范中定义的方法。
四、状态码
100-199 信息性状态码 200-299 成功状态码 300-399 重定向状态码 400-499 客户端错误状态码 500-599 服务器错误状态码
五、首部
1.通用首部:提供了与报文相关的最基本的信息。通用缓存首部,这样就不需要总是直接从源端服务器获取了。
2.请求首部:(请求报文)用于说明是谁或什么在发送请求、请求源自何处,或者客户端的喜好 和能力。
3.响应首部:(响应报文)为客户提供一些额外信息。比如谁在发送响应、响应者的功能、甚至与响应相关的一些特殊指令。
4.实体首部:HTTP报文的负荷。可以告知报文的接收者它在对什么进行处理。
HTTP权威指南-HTTP报文的更多相关文章
- Http权威指南(报文)
1.报文的组成 报文由 起始行.首部.主体(可选)组成 请求报文: <method> <request-URL> <version> <headers> ...
- 图解HTTP权威指南 | HTTP报文
一.问题 1.报文流是如何流动的 2.H ...
- 【HTTP权威指南】第1 章 HTTP 概述
1.1 HTTP--因特网的多媒体信使 ................................................................................ ...
- HTTP 权威指南 详解 ( 一、概述 )
HTTP 权威指南 详解 ( 一.概述 ) 最近在解读 <http权威指南> 这本书.之前对于http 的理解仅限于 知道我需要向服务端发送一个 get or post 请求,然后等待服务 ...
- 《HTTP权威指南》读书笔记(一)
1.因特网上有数千种不同的数据类型,HTTP仔细地给每种要通过Web传输的对象都搭上了名为MIME类型的数据格式标签.WEB服务器会为所有HTTP对象数据附加一个MIME类型.当Web浏览器从服务器中 ...
- 《http权威指南》读书笔记18
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- 《http权威指南》读书笔记14
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- 《http权威指南》读书笔记13
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- 《http权威指南》读书笔记12
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
随机推荐
- 【转】JDBC学习笔记(6)——获取自动生成的主键值&处理Blob&数据库事务处理
转自:http://www.cnblogs.com/ysw-go/ 获取数据库自动生成的主键 我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. ...
- linux下安装node
经过一番的折腾终于在linux上安装了node,记录下来以免忘记 1.下载node 去官网下载最新的linux版本下对应node.js,node-v6.10.2-linux-x64.tar.gz 2. ...
- 设备像素,设备独立像素,CSS像素
之前学了移动端的开发对设备像素.设备独立像素.CSS像素弄得不太清楚,所以趁周末的时间查了一下,稍加整理 一些概念 在进行具体的分析之前,首先得知道下面这些关键性基本概念. CSS像素 CSS像素是W ...
- Android系统--输入系统(十)Reader线程_核心类及配置文件深入分析
Android系统--输入系统(十)Reader线程_核心类及配置文件深入分析 0. 前言 个人认为该知识点阅读Android源代码会不仅容易走进死胡同,并且效果并不好,前脚看完后脚忘记,故进行总结, ...
- CKEditor不借助CKFinder实现图片上传(.net版 ashx实现)
参考博客:http://blog.csdn.net/mydwr/article/details/8669594 本人版本:4.4.6 打开文件:ckeditor/plugins/image/dialo ...
- Java IO最详解
初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂.而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见 ...
- 【BZOJ1001】[BeiJing2006]狼抓兔子
挺简单一个题,最小割模板 我的感觉就是可能建图的时候会比较麻烦吧,毕竟三个方向. #include <cctype> #include <climits> #include & ...
- jdbc连接数据库工具包模板
jdbc连接数据库操作 jdbc连接数据库模板,收藏可做模板使用(小型工程,一般大工程都会用框架,c3p0等连接,不考虑此种方法!). 配置文件的使用(使用配置文件可以使我们后期的修改更加方便,当然, ...
- Java并发,看到了,就记录下呗
在这篇博客中,主要把之前看的书的内容记录一下,个人感觉还是可以的,原题是这样的:开发一个高效的缓存.这里指的是单机. 首先我来看当前的一个版本 public interface Computable& ...
- CSS3特效----制作3D旋转导航
大致思路:首先给 three-d-box 设置一个 transition是不可少的 然后每个 a 标签里面有两个 span 一个叫 font 一个叫 back,默认状态下 font 旋转0度,也就是没 ...