· 关于计算机网络,HTTP 网络通信协议 在任何的开发工作中都非常重要
· 今天,我将献上一份HTTP的学习指南,希望你们会喜欢
讲解HTPP协议前,先了解一些基础的计算机网络相关知识
1.1 计算机网络体系结构
· 定义 计算机网络的各层 + 其协议的集合
· 作用 定义该计算机网络的所能完成的功能
· 结构介绍 计算机网络体系结构分为3种:OSI体系结构、TCP/ IP体系结构、五层体系结构
. OSI体系结构:概念清楚 & 理念完整,但复杂 & 不实用
. TCP/ IP体系结构:含了一系列构成互联网基础的网络协议,是Internet的核心协议 & 被广泛应用于局域网 和 广域网
. 五层体系结构:融合了OSI与 TCP/ IP的体系结构,目的是为了学习 & 讲解计算机原理
1.2 HTTP 协议通信的基础模型
· HTTP协议传输信息的基础:TCP/IP协议模型
· HTTP协议 属于 最高层的应用层
下面,将简单介绍一下 HTTP
· HTTP协议采用 请求 / 响应 的工作方式
· 具体工作流程如下:
· HTTP在 应用层 交互数据的方式 = 报文
· HTTP的报文分为:请求报文 & 响应报文
分别用于 发送请求 & 响应请求时
· 下面,将详细介绍这2种报文
4.1 请求报文
4.1.1 报文结构
· HTTP的请求报文由 请求行、请求头 & 请求体 组成,如下图
· 下面,将详细介绍每个组成部分
4.1.2 结构详细介绍
组成1:请求行
· 作用 声明 请求方法 、主机域名、资源路径 & 协议版本
· 结构 请求行的组成 = 请求方法 + 请求路径 + 协议版本
注:空格不能省
· 组成介绍
此处特意说明GET、PSOT方法的区别:
· 示例 设:请求报文采用GET方法、 URL地址 = ;、HTTP1.1版本
则 请求行是:GET /chn/yxsz/index.htm HTTP/1.1
组成2:请求头
· 作用:声明 客户端、服务器 / 报文的部分信息
· 使用方式:采用 ” header (字段名):value(值)” 的方式
· 常用请求头 1. 请求和响应报文的通用Header
2. 常见请求Header
· 举例: (URL地址:) Host:www.tsinghua.edu.cn (表示主机域名) User – Agent:Mozilla/5.0 (表示用户代理是使用Netscape浏览器)
组成3:请求体
· 作用:存放 需发送给服务器的数据信息
可选部分,如 GET请求就无请求数据
· 使用方式:共3种
至此,关于请求报文的请求行、请求头、请求体 均讲解完毕。
4.1.3 总结
· 关于 请求报文的总结如下
· 请求报文示例
4.2 HTTP响应报文
4.2.1 报文结构
· HTTP的响应报文包括:状态行、响应头 & 响应体
· 其中,响应头、响应体 与请求报文的请求头、请求体类似
· 这2种报文最大的不同在于 状态行 & 请求行
下面,将详细介绍每个组成部分
4.2.2 结构详细介绍
组成1:状态行
· 作用 声明 协议版本,状态码,状态码描述
· 组成 状态行有协议版本、状态码 &状态信息组成
其中,空格不能省
· 具体介绍
· 状态行 示例 HTTP/1.1 202 Accepted(接受)、HTTP/1.1 404 Not Found(找不到)
组成2:响应头
· 作用:声明客户端、服务器 / 报文的部分信息
· 使用方式:采用 “header(字段名):value(值)” 的方式
· 常用请求头 1. 请求和响应报文的通用Header
2. 常见响应Header
组成3:响应体
· 作用:存放需返回给客户端的数据信息
· 使用方式:和请求体是一致的,同样分为:任意类型的数据交换格式、键值对形式和分部分形式
4.2.3 响应报文 总结
4.3 总结
下面,简单总结两种报文结构
下面将讲解一些关于HTTP的额外知识:
· HTTP1.1与 HTTP1.0的区别
· HTTP与 HTTPS的区别
· HTTP处理长连接的方式
5.1 HTTP1.1 与 HTTP1.0的区别
Http1.1比 Http1.0多了以下优点:
· 引入持久连接,即 在同一个TCP的连接中可传送多个HTTP请求 & 响应
· 多个请求 & 响应可同时进行、可重叠
· 引入更加多的请求头 & 响应头
如 与身份认证、状态管理 & Cache缓存等机制相关的、HTTP1.0无host字段
5.2 HTTP 与HTTPS的区别
5.3 HTTP处理长连接的方式
· 本文全面总结了HTTP的基础知识
看完本文有收获?请转发分享给更多人
关注[Java学习之乐 ]全栈开发工程师
了解更多知识关注【Java学习之乐】