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等指令。

深入Nginx之《HTTP请求报文与HTTP响应报文》的更多相关文章

  1. 深入Nginx之《常用参数配置技巧》

    常见参配置实战技巧 下面会讲解实战中应该怎么配置更为合理. 1.user 默认是nobody,如果使用nobody,Nginx在运行过程中会出现很多操作没有权限,比如写硬盘.一般都是用低于root级别 ...

  2. Production环境中iptables常用参数配置

    production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...

  3. Nginx代理常用参数

    目录 一:Nginx代理常用参数 1.添加发往后端服务器的请求头信息 二:参数案例 1.lb01配置文件 2.web01 web02 web服务器 3.测试 4.重启 5.DNS域名解析 6.网址测试 ...

  4. [效果不错] nginx 高并发参数配置及linux内核参数优化,完整的内核优化设置。PHP-FPM高负载解决办法。

    背景:对vps小资源的实践中对,https://justwinit.cn/post/7536/ 的再优化,再实践,再优化,特别是Nginx,PHP,内核: 零)Nginx: error_log /da ...

  5. Weblogic内存溢出及常用参数配置

        http://www.360doc.com/content/14/0306/14/16134804_358216319.shtml 一.WebLogic内存溢出 最近访问量门户访问量突然增大, ...

  6. Nginx之常用基本配置(三)

    前面我们聊了下了Nginx作为WEB服务器对客户端请求相关配置,文件操作优化.Nginx访问控制.basic验证,.状态模块状态页.gzip压缩配置:回顾请参考https://www.cnblogs. ...

  7. Nginx基础 - 常用模块配置

    1.Nginx状态监控http_stub_status_module记录Nginx客户端基本访问状态信息 location /mystatus { stub_status on; access_log ...

  8. [Hive_add_8] Hive 常用参数配置

    0. 说明 记录 Hive 常用参数的配置 1. 设置本地模式 让 Hive 自动使用 Hadoop 的本地模式运行作业,提升处理性能 适合小文件,一般用于测试 set hive.exec.mode. ...

  9. logback 常用参数配置详解

    logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...

  10. Nginx之常用基本配置

    上一篇博客我们大概介绍了一下nginx,nginx的架构,nginx编译安装和nginx命令的用法,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/1236680 ...

随机推荐

  1. @Transactional(rollbackFor)

    @Transactional注解有两个,一个是spring提供的@org.springframework.transaction.annotation.Transactional 另一个是jdk提供@ ...

  2. Spring Boot 2实现分布式锁——这才是实现分布式锁的正确姿势!

    参考资料 网址 Spring Boot 2实现分布式锁--这才是实现分布式锁的正确姿势! http://www.spring4all.com/article/6892

  3. SpringBoot配置ThreadPoolTaskExecutor

    package com.example.demo; import org.springframework.context.annotation.Bean; import org.springframe ...

  4. Ferguson游戏&&Ua12293——打表找规律

    题意 有两个盒子分别有m颗糖果和n颗糖果,每次移动是将一个盒子清空而把另一个盒子里得一些糖果拿到被清空的盒子,使得两个盒子至少各有一个.无法移动者输. 分析 设初始状态为(m, n),显然(1, 1) ...

  5. 验证码破解 | Selenium模拟登录知乎

      import requests import re import execjs import time import hmac from hashlib import sha1 class Zhi ...

  6. Java算法考试笔记

    1.快速构建排列树: void BackTrace(int t){//排列树 if(t<N){//如果没有到叶子结点 for(int i=t;i<N;i++){ swap(x,t,i); ...

  7. [洛谷P3092]【[USACO13NOV]没有找零No Change】

    状压\(DP\) + 二分 考虑构成:\(k<=16\)所以根据\(k\)构造状压\(dp\),将所有硬币的使用情况进行状态压缩 考虑状态:数组\(dp[i]\)表示用\(i\)状态下的硬币可以 ...

  8. 【JZOJ6231】【20190625】等你哈苏德

    题目 有\(m\)条线段,每条线段为\([l_i,r_i]\),每条线段可以是黑/白色 有些线段已经被染色,有些需要被确定颜色 询问是否存在一种染色方案,使得对于每一个位置\(i\),覆盖它的线段黑白 ...

  9. 前端零基础入门:页面结构层HTML(3)

    搭建网页HTML结构 标签 标签 块级标签 和 行内标签 标签嵌套规则 和 div css 标签是一个区块容器标记, 之间是一个容器,可以包含段落,表格,图片等各种HTML元素. 标签没有实际意义,为 ...

  10. 你真的知道Java中boolean类型占用多少个字节吗?

    为什么要问这个问题,首先在Java中定义的八种基本数据类型中,除了其它七种类型都有明确的内存占用字节数外,就boolean类型没有给出具体的占用字节数,因为对虚拟机来说根本就不存在 boolean 这 ...