您的位置:首页 > 理论基础 > 计算机网络

计算机网络:这是一份全面详细 HTTP知识讲解

2018-03-14 09:15 701 查看

前言

HTTP
网络通信协议在任何的开发工作中都非常重要

今天,我将献上一份
HTTP
的说明指南,希望你们会喜欢

目录


示意图

1. 储备知识

讲解
HTPP
协议前,先了解一些基础的计算机网络相关知识

1.1 计算机网络体系结构

定义计算机网络的各层 + 其协议的集合

作用定义该计算机网络的所能完成的功能

结构介绍计算机网络体系结构分为3种:
OSI
体系结构、
TCP
/
IP
体系结构、五层体系结构

OSI
体系结构:概念清楚 & 理念完整,但复杂 & 不实用

TCP
/
IP
体系结构:含了一系列构成互联网基础的网络协议,是
Internet
的核心协议 & 被广泛应用于局域网 和 广域网

五层体系结构:融合了
OSI
TCP
/
IP
的体系结构,目的是为了学习 & 讲解计算机原理


示意图
TCP/ IP的体系结构详细介绍由于 TCP/ IP体系结构较为广泛,故主要讲解


示意图

1.2 HTTP 协议通信的基础模型

HTTP
协议传输信息的基础:
TCP/IP
协议模型

示意图
HTTP
协议 属于 最高层的应用层

2. 简介

下面,将简单介绍一下
HTTP


示意图

3. 工作方式

HTTP
协议采用 请求 / 响应 的工作方式
具体工作流程如下:


示意图

4. HTTP报文详解

HTTP
在 应用层 交互数据的方式 = 报文
HTTP
的报文分为:请求报文 & 响应报文
分别用于 发送请求 & 响应请求时下面,将详细介绍这2种报文

4.1 请求报文

4.1.1 报文结构

HTTP
的请求报文由 请求行、请求头 & 请求体 组成,如下图


示意图下面,将详细介绍每个组成部分

4.1.2 结构详细介绍

组成1:请求行作用声明 请求方法 、主机域名、资源路径 & 协议版本
结构请求行的组成 = 请求方法 + 请求路径 + 协议版本
注:空格不能省

请求行的组成组成介绍


示意图此处特意说明GET、PSOT方法的区别:

示意图示例设:请求报文采用
GET
方法、
URL
地址 = http://www.tsinghua.edu.cn/chn/yxsz/index.htm;、
HTTP1.1
版本
则 请求行是:
GET /chn/yxsz/index.htm HTTP/1.1
组成2:请求头作用:声明 客户端、服务器 / 报文的部分信息
使用方式:采用”header(字段名):value(值)“的方式
常用请求头1. 请求和响应报文的通用Header


请求和响应报文的通用Header2. 常见请求Header

常见请求Header举例:(URL地址:http://www.tsinghua.edu.cn/chn/yxsz/index.htm)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


请求和响应报文的通用Header2. 常见响应Header

常见响应Header

组成3:响应体

作用:存放需返回给客户端的数据信息
使用方式:和请求体是一致的,同样分为:任意类型的数据交换格式、键值对形式和分部分形式


示意图

4.2.3 响应报文 总结


示意图

4.3 总结

下面,简单总结两种报文结构

示意图

5. 额外知识

下面将讲解一些关于
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处理长连接的方式


示意图

6. 总结

本文全面总结了
HTTP
的基础知识
接下来我会介绍继续
Android
开发中的相关知识,有兴趣可以继续关注Carson_Ho的安卓开发笔记
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: