《HTTP权威指南》学习笔记——HTTP报文
HTTP报文
HTTP:互联网的信使
HTTP报文:信使用来搬东西的包裹
1.报文流
HTTP报文:HTTP应用程序之间发送的数据块
组成:元信息开头(文本形式,描述报文的内容和含义)+可选的数据部分。
2.报文的组成部分
三部分组成:
- 起始行(描述报文)
- 首部块(属性)
- 主体部分(主体)
报文的语法:
两类:请求报文和响应报文

请求报文格式:
<method><request-URL><version>
<headers>
<entity-body>
响应报文格式:
<version><status><reason-phrase>
<headers>
<entity-body>
- 方法 对资源执行的动作 如GET、POST等
- 请求URL
- 版本 HTTP版本,如HTTP/1.1
- 状态码 status-code 描述请求过程中发生的情况
- 原因短语
- 首部
- 实体的主体部分
起始行
请求行:说明要做些什么
响应行:说明发生了什么
方法:告诉服务器做什么事情

状态码:告诉客户端发生了什么

常见状态码:
200 OK 成功
404 Not Found 未找到
原因短语:文本形式的解释,如HTTP/1.0 200 OK,OK就是原因短语
版本号:HTTP/x.y 告知对方自己所遵循的协议版本
首部
起始行后面跟着0,1或多个HTTP首部字段
HTTP首部字段向请求和响应报文中添加一些附加信息
本质是键值对的列表
方法
安全方法
HTTP请求不会在服务器上产生结果,GET方法和HEAD方法就是安全方法
GET
用于请求服务器发送某个资源
HEAD
与GET方法类似,服务器在响应中只返回首部
PUT
向服务器写入文档(GET是从服务器读取文档)
POST
向服务器输入数据,用它来支持HTML表单
POST用于向服务器发送数据,PUT用于向服务器上的资源中存储数据
TRACE
允许客户端在最终将请求发送给服务器时,看看它变成什么样子
3.状态码
HTTP状态码被分成了五大类
3.1 100——199 信息性状态码
HTTP/1.1向协议中引入信息性状态码,这些状态码相对较新,由于复杂性和感知价值存在一些争议,而受到限制。
3.2 200——299 成功状态码

3.3 300——399 重定向状态码
重定向状态码要么告知客户端使用替代位置来访问他们所感兴趣的资源,要么就提供一个替代的响应而不是资源的内容。
304 Not Modified 若客户端发起GET请求,而最近资源未被修改的话
就应该用这个状态码来说明资源未被修改。带有这个状态码的响应不应该包含实体的主体部分。
3.4 400——499 客户端错误状态码
客户端发送一些服务端无法处理的东西,如格式错误的请求报文,不存在的URL


3.5 500——599 服务器错误状态码
客户端发送有效请求,服务器却出错。


首部
首部和方法配合工作,共同决定客户端和服务器能做什么事情。
在请求报文和响应报文中都可以用首部来提供信息。
首部可以分为5个类型:
- 通用首部 客户端和服务器都可以使用的通用首部,提供一些通用功能
如Date:Sat, 13 Feb 2016 12:09:32 GMT - 请求首部 请求报文特有的,为服务器提供一些额外的信息
如Accept:image/webp,image/*,*/*;q=0.8 - 响应首部
- 实体首部 用于应对实体主体部分的首部
Content-Type:text/plain; charset=utf-8 - 拓展首部 非标准的首部,由应用程序开发者创建。
《HTTP权威指南》学习笔记——HTTP报文的更多相关文章
- HTTP权威指南-学习笔记
目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客 ...
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...
- CSS权威指南学习笔记系列(1)CSS和文档
题外话:HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对, ...
- Hadoop权威指南学习笔记二
MapReduce简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.n ...
- Hadoop权威指南学习笔记一
Hadoop简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出.一起学习一起进步. 转载请注明:http://blog.csdn.net/ ...
- Hadoop权威指南学习笔记三
HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...
- IDA Pro权威指南学习笔记(一)
一直不懂逆向,最近刚好不忙,于是学习逆向,用来做笔记,顺便和大家分享交流. 参考书籍<IAD PRO权威指南> 工具: PETools: ETools 是另一款很好的PE文件编辑工具,以前 ...
- css权威指南学习笔记 —— css选择器
1,选择器:选择器的一些基本常用规则基本都记得,w3c上都有,平时也常用,不常用的一些后代选择器经常就忘记了.一些归纳一下后代选择器,加深一下印象: a:子选择器: p>a a是直接是p的 ...
- maven权威指南学习笔记(五)—— POM
1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...
- maven权威指南学习笔记(三)——一个简单的maven项目
目标: 对构建生命周期 (build lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...
随机推荐
- iOS高德地图使用-搜索,路径规划
项目中想加入地图功能,使用高德地图第三方,想要实现确定一个位置,搜索路线并且显示的方法.耗了一番功夫,总算实现了. 效果 WeChat_1462507820.jpeg 一.配置工作 1.申请key 访 ...
- 基于HTML5手机上下滑动翻页特效
基于HTML5手机上下滑动翻页特效.这是一款手机移动端触屏滑动翻页代码下载.效果图如下: 在线预览 源码下载 实现的代码. html代码: <section class="u-al ...
- css3实现的4种动画特效按钮
今天要给大家介绍的是css3按钮,里面包含四种特效的动画,如下图: 在线预览 下载源码 实现html代码: <div align="center" class=&quo ...
- 神奇的bug,退出时自动更新时间
遇到一个神奇的bug,用户退出时,上次登录时间会变成退出时的时间. 于是开始跟踪,发现Laravel在退出时,会做一次脏检查,这时会更新rember_token,这时就会有update操作如下. 而粗 ...
- jvm面试题
1.虚拟机的类加载机制 1.1.什么是虚拟机的类加载机制 在代码编译后,就会生成JVM(Java虚拟机)能够识别的二进制字节流文件(*.class).而JVM把Class文件中的类描述数据从文件加载 ...
- Spark Shuffle 中 JVM 内存使用及配置内幕详情
本课主题 JVM 內存使用架构剖析 Spark 1.6.x 和 Spark 2.x 的 JVM 剖析 Spark 1.6.x 以前 on Yarn 计算内存使用案例 Spark Unified M ...
- 前端常用功能记录(二)—datatables表格(转)
前端常用功能记录(二)—datatables表格 并不是所有的后台开发都有美工和前端工程师来配合做页面,为了显示数据并有一定的美感,jQuery的DataTables插件对于像我这样的前端菜鸟来说真是 ...
- 中断描述符表(Interrupt Descriptor Table,IDT)
中断描述符表(Interrupt Descriptor Table,IDT)将每个异常或中断向量分别与它们的处理过程联系起来.与GDT和LDT表类似,IDT也是由8字节长描述符组成的一个数组. #pr ...
- DLL入门
DllTest工程 QMath.h #pragma once #ifdef API_EXPORT #define DLL_CLASS __declspec(dllexport) #define DLL ...
- 【C】——利用sigsuspend函数等待信号阻塞进程
#include<signal.h> int sigsuspend(const sigset_t *sigmask); 返回值:-,并将errno设置为EINTR 将进程的信号屏蔽字设置为 ...