HTTP是什么,不是什么?
HTTP是超文本传输协议(),可以拆成超文本,传输和协议三个部分理解。
首先HTTP是一个协议,协议不局限于计算机世界,现实生活中也随处可见,比如在公司签署保密协议,租房签署租房协议,公司内使用的软件都带有许可协议。协议是有多个参与者为了达到某个目的,而明确规定各方的权利责,制定规范。HTTP是一个在计算机里的协议,它使用计算机可以理解的语言确立了一种计算机之间交流通讯的的规范,以及各种控制和错误处理方式。
HTTP是一个传输协议,所谓的传输很好理解,就是把一堆东西从A传输到B,再从B传输到A。即A <===> B。
包含两点重要的信息:
- HTTP协议是一个“双向协议”。
- 数据虽然是在A和B之间传输,但并没有限制只有A和B两个角色,允许中间有“中转”和接力。
HTTP传输超文本。
所谓文本,就表示传输的不是像TCP/UDP这些底层协议里被切分的杂乱无章的二进制包(datagram),而是完整的有意义的数据,可以被浏览器、服务器这些上层应用解析处理。
所谓超文本,就是“超越了普通文本的文本",它是文字、图片、音频和视频的混合体,最关键的是含有超链接,可以从一个超文本链接到另一个超文本。形成复杂的非线性、网状的结构关系。
HTTP不存在“单独的实体”;它不是浏览器、app那样的应用程序,也不是Windows、Linux那样的操作系统,更不是像Apache、Nginx、Tomcat那样的web服务器。
HTTP不是互联网;HTTP属于互联网的一部分,而且是占比最大的一块。
HTTP不是编程语言;编程语言是人与计算机之间沟通交流的语言,而HTTP是计算机与计算机之间沟通的语言。
HTTP不是HTML。HTML是超文本标记语言。单论次数,在互联网中传输最多可能就是HTML,但是单论数据量,HTML就要往后排了,图片、音频和视频这些类型的资源显然更大。
HTTP不是孤立的协议。互联网中,HTTP经常跑在TCP/IP协议栈之上,依靠IP协议实现寻址和路由,TCP实现可靠数据连接,DNS实现域名查找,SSL/TSL协议实现安全通讯。此外,还有一些协议依赖于HTTP,例如WebSocket、HTTPDNS等。这些协议相互交织,构成一个协议网,而HTTP则处于中心位置
此文章为11月Day2学习笔记,内容来源于极客时间《透视HTTP协议》,以梦为马,11月进步💪💪
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。