本文详细介绍了Http报文之"请求报文"和"响应报文",欢迎阅读 ,一起进步。

Hope this article can really let you know the request message and response message.


文章目录

  • 一、报文序言
  • 二、请求报文
  • 三、响应报文

一、报文序言

HTTP协议简介:超文本传输协议(英文:Hyper Text Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议。

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


HTTP报文的流动方向:一次HTTP请求,HTTP报文会从“客户端”流到“代理”再流到“服务器”,在服务器工作完成之后,报文又会从“服务器”流到“代理”再流到“客户端”。


ps: 报文分为请求报文和响应报文

请求报文:从客户端发往服务器的报文叫请求报文。
响应报文:服务器收到请求报文后,作为响应发往客户端的报文称为响应报文。


二、请求报文

请求报文:它会向Web服务器请求一个动作

请求报文的格式:

起始行: <method> <request-URL> <version>头部:   <headers>主体:   <entity-body>


请求报文包括三个部分,第一部分是请求行,第二部分是Headers,第三部分是Body。

详细分析如下


①请求行

请求行包括三个部分,第一个是方法。常见的有get,post,put,delete。第二个是路径,也就是服务器地址后面的部分,第三个是http的版本

比如 https://mp.csdn.net/users,这个users就是路径,当前的主流版本是http 1.1。具体格式如下,

GET /users HTTP/1.1


②请求头 Headers

Headers有很多,这里只介绍一些常用的。
Content-Type:内容的类型

常见类型 含义
text/html 用于浏览器间响应
x-www-form-urlencoded 纯⽂本表单的提交⽅式
multitype/form-data 含有⼆进制⽂件时的提交⽅式
application/json json格式

Content-Length:指定 Body 的⻓度(字节)

Location:指定重定向的⽬标 URL

User-Agent:⽤户代理,即是谁发送或接受响应的,可以用来区分浏览器发送的请求还是手机发送的请求。


③主体

报文主体就是报文的主要数据部分,它可以是任意数据类型的数据

比如请求主体中包含了要发给服务器的数据,响应主体中装载了要返回给客户端的数据。

起始行和首部都是文本化且具有特定结构的,主体则可包含所有二进制数据和文本。


三、响应报文

响应报文:它会将请求的结果返回给客户端。

响应报文的格式:

起始行:  <version> <status> <reason-phrase>头部:    <headers>主体:    <entity-body>

响应报文也包括三个部分,第一部分是状态行,第二部分是Headers,第三部分是Body。


①关于状态行

状态包括三个部分.第一个是http版本,常用的还是1.1。第二个是状态码,常见的有200,表示成功,404,表示找不到内容。第三个是状态信息。

具体格式如:HTTP/1.1 200 OK


②响应头部

与请求头部类似,为响应报文添加了一些附加信息。

常见响应头部如下:

常见单词 含义
Server 服务器应用程序软件的名称和版本
Content-Type 响应正文的类型(是图片还是二进制字符串)
Content-Length 响应正文长度
Content-Charset 响应正文使用的编码
Content-Encoding 响应正文使用的数据压缩格式
Content-Language 响应正文使用的语言

③响应正文Body

服务器发送给客户端的内容,也是客户端所请求的内容。


请求报文和响应报文 参考图解


状态码拓展

HTTP状态码被分成了五大类。状态码为客户端提供了一种理解事务处理结果的便捷方式。

状态码 含义
100~199 (信息性状态码) HTTP/1.1向协议中引入了信息性状态码
200~299 (成功状态码) 客户端发起请求时,这些请求通常都是成功的。服务器有一组用来表示成功的状态码,分别对应于不同类型的请求
300~399 (重定向状态码) 重定向状态码要么告知客户端使用替代位置来访问他们所感兴趣的资源,要么就提供一个替代的响应而不是资源的内容
400~499 (客户端错误状态码) 有时客户端会发送一些服务器无法处理的东西。浏览网页时,我们都看到过臭名昭著的404 Not Found错误码,这只是服务器在告诉我们,它对我们请求的资源一无所知
500~599 (服务器错误状态码) 有时客户端发送了一条有效请求,服务器自身却出错了,这些会返回5xx状态码

The best investment is in yourself

2020.04.28 记录辰兮的第59篇博客

HTTP报文之请求报文和响应报文详解相关推荐

  1. HTTP请求头、响应头详解

    HTTP的头域包括通用头.请求头.响应头和实体头四个部分.每个头域由一个域名,冒号(:)和域值三部分组成(说白了就是键值对). 通用头:是客户端和服务器都可以使用的头部,可以在客户端.服务器和其他应用 ...

  2. HTTP 请求头与响应头详解

    一.概念 HTTP 是超文本传输协议(HyperText Transfer Protocol),HTTP 请求头与响应头是指客户端与服务端在传输过程中对所传输资源的参数描述. 二.报文头说明 HTTP ...

  3. HTTP请求头和响应头详解【转】

    最近老猿在开始学习爬虫相关的知识,由于老猿以前只做非web的后台应用,发现相关知识太过匮乏,导致学习很困难,为此不得不从一些基础知识恶补开始,对于这些知识,老猿会将网上找到的比较认可的内容直接转发. ...

  4. get方法 服务器响应,HTTP请求方法及响应码详解(http get post head)

    HTTP是Web协议集中的重要协议,它是从客户机/服务器模型发展起来的.客户机/服务器是运行一对 相互通信的程序,客户与服务器连接时,首先,向服务器提出请求,服务器根据客户的请求,完成处理 并给出响应 ...

  5. ios php 表单提交图片上传,axios发送post请求提交图片表单步骤详解

    这次给大家带来axios发送post请求提交图片表单步骤详解,axios发送post请求提交图片表单的注意事项有哪些,下面就是实战案例,一起来看一下. DOME 接口const userUploadA ...

  6. 通俗易懂。HTTP请求行、请求头、请求体、响应行、响应头、响应体详解

    一. HTTP请求报文解剖 HTTP Request :HTTP请求 Request Line:请求行 Header:请求头 Request Body:请求体 HTTP请求报文由3部分组成(请求行+请 ...

  7. HTTP网页从请求到响应过程详解

    引言 本文针对于<计算机网络>课程内容的总结和扩展,主要是讲解浏览器从键入URL网址后,到网页显示,其间的过程. 首先,浏览器的第一步工作就是对 URL 进行解析,然后给向Web 服务器发 ...

  8. HTTP之请求响应内容详解

    (尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/54562339冷血之心的博客) 目录 HTTP协议(重点) 1 安装 ...

  9. http请求头部(header)详解

    通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可 选的消息体组成.HTTP的头域包括通用头,请求头,响 ...

  10. 应用请求web服务器的过程详解

    我们在做渗透测试时,需要知道互联网中是如何处理客户端与服务器端之间的请求的.本文转载一篇文章详解介绍了一次web请求过程的处理. 我们要了解一下Internet中一台计算机访问Web服务器的全部过程, ...

最新文章

  1. shopnc 发票项目
  2. 模拟input type=file
  3. 关于set.insert的一个问题,是否是常量的问题(未解决问题)
  4. 被丢弃的消息不能再次出现
  5. html中加法,javascript 实现加法运算详解
  6. javascript学习系列(13):数组中的concat方法
  7. Web-HTML特殊符号的表示
  8. 【动态规划】【数位DP】[PA 2015]Rownanie
  9. 关于insert语句的插入问题
  10. oracle应用程序开发,关于Oracle 数据库应用程序开发问题
  11. Redis实战(十二)Redis实现分布式锁
  12. 在Mac中如何通过命令对NTFS磁盘格式化
  13. 智能解方程计算机在线使用,作业帮计算器在线使用
  14. itx机箱尺寸_itx主机还需要显卡吗?极限尺寸s18 itx机箱装机示范
  15. 驰为vi10 java_驰为Win10 Remix双系统 for Vi10,独一无二
  16. 小米手机,xxx正在删除小米账户上的联系人
  17. 符合信创的政务部门的OA办公系统?用开源平台来搭建一个吧!
  18. C#读取DWG文件方法
  19. T字形路口小车如何要c语言编程,科二皮卡怎么找30公分线
  20. 塞瓦定理与梅涅劳斯定理

热门文章

  1. processing 模拟arduino ide串口监视器发送命令信息(string类型)
  2. 腾讯与字节的战争拐点是什么?
  3. RoundedImageView 处理图片存在毛边的问题
  4. for语句和if语句的一些应用
  5. 2019年最值得关注的五大区块链游戏, 了解DAPP看这一篇就够了
  6. 在线教育大数据营销平台实战(四):CRM线索生命周期及用户画像构建
  7. 慕尼黑讨论放弃 Linux 转投 Windows 10
  8. Python+OpenCV之图片批处理(一)
  9. 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
  10. Geforce Experience无法登录