HTTP是超文本传送协议(HyperText Transfer Protocol)的缩写,要想具象的描述清楚HTTP,我们需要先了解OSI参考模型和TCP/IP参考模型。
如果有人要我们介绍一下HTTP是什么,我相信大多数人会这样回答:
HTTP是基于TCP/IP协议的一个应用层协议。
然而我们真的了解TCP/IP协议么?接下来我们一层层抽丝剥茧。
OSI参考模型
个人认为TCP/IP相当于开放式系统互联通信参考模型中的的传输层和网络层,根据该模型的英文单词缩写,它被简称为OSI参考模型,OSI参考模型是一个尝试让全世界计算机互联为网络的概念性框架,它只是一个参考模型,并没有提供某种具体的实现方法或者标准,换句话说它是一个为定制标准提供参考的概念性框架。
OSI参考模型中将计算机网络体系结构划分为7层,从下至上依次是:
物理层:光纤和网卡等,负责通信设备和网络媒体之间的互通
数据链路层:以太网,用来加强物理层功能
网络层:IP协议和ICMP协议等,负责数据的路由的选择与数据转寄
传输层:TCP协议和UDP协议等,承上启下,控制连接,控制流量
会话层:建立和维护会话关系
表达层:把数据转换为接受者系统可兼容的格式
应用层:HTTP、FTP、SMTP和SSH等,粗犷的理解为程序员层
OSI参考模型定义了开放系统的层次结构和各层次之间的相互关系,它作为一个框架来协调和组织各层所提供的服务,如果要说的更贴近一点,它更像是一款行为规范,贴近生活的例子就是一个企业的企业文化。
TCP/IP参考模型
TCP/IP协议代表一整个网络传输协议家族,而不仅仅是TCP协议和IP协议,TCP协议和IP协议是该协议家族中最早通过的最核心的两个协议标准,因此该协议家族被称作TCP/IP协议族,也就是我们通常所说的TCP/IP协议。
要完成一个任务需要该协议家族的各种协议分工协作,就好比程序员分为前端、后端和DB等一样,把这些协议根据它们的责任分类,因此TCP/IP产考模型应运而生,在该参考模型中的网络体系结构一共分为4层,从下至上依次是:
网络连接层:主机与网络相连的协议,如:以太网
网络互联层:IP协议和ICMP协议等,负责数据的路由的选择与数据转寄
传输层:TCP协议和UDP协议等,控制端对端的连接、流量和稳定性
应用层:HTTP、FTP、SMTP和SSH等,粗犷的理解为程序员层
TCP/IP参考模型看起来和OSI参考模型有有一定的相似性,然而由于各种应用层实现的不同,它们之间没有一种绝对的对称关系,我们可以大致的将它们按照以下对应关系来理解和区分:
然而上述对应关系依旧有点生拉硬拽的感觉,我认为还是要把它们区分开来理解,从微观上来看它们本身是两种不同的参考模型。
HTTP协议与TCP/IP协议
如果认真的看了上面的表格,我们可以知道,HTTP是TCP/IP参考模型中应用层的其中一种实现。HTTP协议的网络层基于IP协议,传输层基于TCP协议,因此就引出了我们开头说到的:HTTP协议是基于TCP/IP协议的应用层协议。
上文中提到,可以把应用层理解为“程序员层”,TCP/IP协议需要向程序员提供可编程的API,该API就是Socket,它是对TCP/IP协议的一个重要的实现,几乎所有的计算机系统都提供了对TCP/IP协议族的Socket实现。综上所述,我们就可以使用Socket来进行网络通信了,而HTTP协议也需要向程序员提供可编程的API,该API的实现也就基于Socket来实现了。
如何理解Socket呢?就像在生活中打电话一样,有打电话的一端,就有接电话的一端,Socket也是一样的,作为TCP/IP协议族的的实现,生来就是为了完成通信。虽然每一台主机设备都可以作为打电话的一端(客户端),也可以作为接电话的一端(服务端),但是打电话和接电话的动作在行为上来看是不同的。因此计算机系统的Socket实现也提供了两套API,我们在这里约定一下,提供服务端能力的称作ServerSocket,提供客户端能力的称作Socket。
Nginx和本人开发的AndServer等都是基于Socket实现的HTTP服务端,OkHttp、URLCollection等都是基于Socket实现的HTTP客户端,而浏览器就是这些HTTP客户端的具象。
相关资讯
网络参考模型和 HTTP 协议
HTTP是超文本传送协议(HyperTextTransferProtocol)的缩写,要想具象的描述清楚HTTP,我们需要先了解OSI参考模型和TCP/IP参考
来源:黑核动态ip代理
2019-12-11 14:36:35
哪家代理IP支持http/https/Socks5等协议
现在代理ip越来越被人们重视,这是因为人们发现代理ip越来越有用处,而且我们在上网的时候,很多时候都要用到代理的,而且要找个支持http/https/Socks
来源:黑核混拨ip代理
2019-05-13 09:57:14
快速掌握HTTP协议的方法
HTTP协议在网络中是至关重要的存在,不仅影响着浏览器、爬虫、代理服务器,还对防火墙、CND、微服务等多方便有着不小的影响。由于HTTP协议的规范并不是统一的,
来源:黑核动态ip代理
2019-08-13 10:52:52
简析HTTP协议原理
HTTP协议原理是什么?下面通过浏览器访问一个网址的过程进行分析,如下:1.利用DNS协议进行域名解析第一步:客户端用户从浏览器里输入www.baidu.com
来源:黑核动态ip代理
2019-08-29 11:34:27
HTTP代理协议分析和使用详解
HTTP代理协议,是HTTP1.1协议(超文本传输协议)的一部分,用来做代理服务的协议。HTTP代理的原理:HTTP代理服务器会自动提取请求数据包的HTTPRe
来源:黑核动态ip代理
2019-09-21 11:28:53
HTTP协议原理是什么
HTTP协议原理是什么?下面通过浏览器访问一个网址的过程进行分析,如下:1.利用DNS协议进行域名解析第一步:客户端用户从浏览器里输入www.baidu.com
来源:黑核动态ip代理
2019-09-30 14:24:11
代理ip知识:HTTP协议与过程的联系
大数据时代下,生活和数据息息相关,越来越多的行业和个人都需要大数据的帮助。这样的背景下,数据采集成为技术主流,但是大量的采集受到了各种限制,其中最为常见的就是i
来源:黑核动态ip代理
2019-11-12 14:02:39
IP加速器的使用方法和简单问题解决办法
IP加速器,顾名思义就是加速IP,提升网络性能,降低网络延迟。黑核混拨ip加速器是一款ip量大速度快的加速器,非游戏外挂,可以放心使用。IP加速器的客户端设置简
来源:黑核混拨ip加速器网
2018-12-28 10:21:44
现在采集越来越难如何找到实用的HTTP代理IP
目前,中国的互联网大军正在不断壮大,各种各样依托互联网的新兴行业正在兴起,哪怕是很多传统行业,为了抢占竞争的制高点,也将跟友商之间的竞争搬到了互联网平台之上。对
来源:黑核混拨ip加速器网
2018-12-28 15:56:10
为什么网络爬虫需要大量IP 有什么好用的IP切换软件
在爬虫的过程中,我们经常会遇见很多网站采取了防爬取技术,或者说因为自己采集网站信息的强度和采集速度太大,给对方服务器带去了太多的压力,所以你一直用同一个代理IP
来源:黑核混拨ip加速器网
2019-01-02 18:00:27
推荐阅读
Copyright © | 广州网连信息技术有限公司动态ip代理版权所有 备案号:粤ICP备18088888号-15 网站地图