深入Nginx之《HTTP请求报文与HTTP响应报文》
HTTP请求报文
这个很有必要了解,好歹我们得知道Nginx在提供HTTP服务时,客户端都会传些什么。HTTP请求中客户端传送的内容称为HTTP请求报文。
1、请求行包含:
请求方法,请求URL,HTTP协议及版本。其中请求方法和支持的协议版本包含如下:
GET,HEAD,POST 它们都支持HTTP1.0/1.1。
PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH 它们只支持HTTP1.1。
2、请求头部:
客户端向服务器传递请求时附加的一些信息,由key/value组成,key和value由冒号分隔,每行一对,请求头常见的key 有 Cookie,User_Agent, Accept-Encoding。
3、请求体:
一般是由POST方法提交,它可能是图片,文件,或者是字符串。
1.2 HTTP响应报文
这个仍然很有必要了解的,客户端得到了想要东东(有时候可能也得不到,如服务异常了),那里面包含了些什么。HTTP请求后返回给客户端的内容称为HTTP响应报文。
HTTP响应报文(服务器返回给客户端的内容)由三部分组成,它们分别是响应行,响应头,响应体。
响应行包含HTTP协议版本,状态码,状态码描述。
其中状态码的分类如下:
状态码 |
作用 |
1XX |
它表示请求已经被接受,正在继续处理,这种响应是临时响应,不会返回响应体。 |
2XX |
成功处理并返回,它表示在服务器内已经被接收,被知晓,并处理完成。 |
3XX |
重定向功能,告知客户端需要继续执行操作才可以完成请求。 |
4XX |
出现问题,和客户端有关系,比如401表示权限问题,404表示访问了一个不存在的URL。 |
5XX |
出现问题,和服务端有关,比如500表示内部错误,504表示请求超时。 |
响应头,为响应报文附加额外的信息,和请求头相似。区别在于它是返回给客户端,请求头部是从客户端发起。常见的响应头key如Content-Type,Content-Encoding。
响应体,请求返回到客户端的正文数据。
下面是一个完整的响应报文示例:
响应报文并非只有Nginx的后端服务器才能发送的,有些时候Nginx也可以作为服务器对请求报文的内容进行响应,比如return,echo等指令。
最新文章
- bg,fg,ctrl+z组合
- SpringMVC 2.5.6 noMapping
- c语言的基本语法
- ubuntu下读取数据库中文乱码解决
- jsp:useBean标准动作
- 老毛桃U盘启动盘制作工具V20140501完美贡献版
- 抽象类 abstract 和 接口 interface 类的区别
- HDU1201 水题
- 能量最小化初探,graphcuts能量最小化调用
- Pearson 相关系数--最佳理解及相关应用
- 将xml文件由格式化变为压缩字符串
- PKUSC2018游记
- Rails6.0 Beta版本1: Action Text的简单使用
- BloodHound官方使用指南
- Codeforces 785E. Anton and Permutation
- upsource初探
- DIV垂直居中对齐
- 转 MySQL问题排查工具介绍
- 如何在ubuntu16上安装docker
- gif处理
热门文章
- ovirt常用后台维护命令
- 实验十四 团队项目评审&;课程学习总结(葛进花201671010413)
- 201671030108后新莉+实验十四 团队项目评审&;课程学习总结
- 项目Beta冲刺(团队)——05.27(5/7)
- NameValueCollectionValueProvider
- TCP/IP通信过程(以发送电子邮件为例)(转)
- win10 系统运行加速方法
- Openwrt build env setup(9)
- golang 几个好用的cli package
- dotnetcore docker 简单运行