Java之网络HTTP协议的基本格式总结

Posted 春风~十一载

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之网络HTTP协议的基本格式总结相关的知识,希望对你有一定的参考价值。

本篇博客主要介绍HTTP协议的基本格式,使用Fiddler抓包工具来查看相关协议。关于Fiddler抓包工具的使用方法,具体已经在上一篇博客中展现了,没有看到的小伙伴们记得去看哦!Fiddler工具的使用方法

一. 请求

1. 首行

在这里,我们使用Fiddler随便捕获一条http协议,以搜狗搜索页的请求的原始数据为例:
我们点击右下角的按钮,使用记事本打开,打开后的效果如下所示:

可以看到请求为一个文本格式,其每一行都有特定的含义

我们先看首行(first line)的数据,其主要分成三个部分(每部分之间使用空格来分隔)

2. 首部


除了首行之外的内容,我们称之为首部(请求头/header)
可以看出header里面包含了很多键值对,键值对和键值对之间,使用了换行来分隔,而键和值之间,使用冒号+空格来分隔

3. 空行

header中具体有多少行,是不固定的,往往会使用一个空行来作为结束的标记,通过首部下面的空行就表示header部分结束了

4. 正文

有的请求是有正文的,有的请求则没有正文,而当前我们看到的这个请求也是一个空行,是没有正文的

二. 响应

1. 首行

响应的首行也包含了三个部分:

2. 首部


和请求的首部类似,也是包含了很多键值对,也是使用空行作为结束标记的

3. 空行


其中中间的部分为空行,作为首部的结束标记

4. 正文

正文(body),正文中的内容可以有,也可以没有,当前,我们是有正文的

这个响应的正文,正是一个html格式的数据

三. 总结

以上是关于Java之网络HTTP协议的基本格式总结的主要内容,如果未能解决你的问题,请参考以下文章

java学习笔记之网络编程

[linux] Linux网络编程之HTTP协议详解

[linux] Linux网络编程之HTTP协议详解

网络协议之:WebSocket的消息格式

Java网络编程-第一节1:网络编程必备网络知识1之网络初识和网络协议

Java网络编程-第一节1:网络编程必备网络知识1之网络初识和网络协议