本文仅供笔者平日学习笔记之用,侵删
原文:https://mp.weixin.qq.com/s/wZONAYSlkufds0LMzoE-9g
背景
1989年,蒂姆·伯纳斯 - 李(Tim Berners-Lee)在论文中提出可以在互联网上构建超链接文档,并提出了三点:
- URI:统一资源标识符。互联网的唯一ID
- HTML:超文本文档
- HTTP:传输超文本的文本传输协议
HTTP应用在哪儿
HTTP可谓无处不在,这里例举出几个:
HTTP是什么
HTTP(hypertext transport protocol)翻译过来为"超文本传输协议",文本可以理解为简单的字符文字组合,也可以理解为更为复杂的音频或者图像等。那么将这个词语拆分为三个部分。
"超文本"
和"文本"相比多了一个字"超",这样看来比文本丰富,因为它可以将多种文本/图像等进行混合,更重要的是可以从一个文本跳转到另一个文本(文本连接)。
"传输"
传输的过程中需要沟通,沟通即可能一对一沟通也可能一对多沟通(进行内容协商),无论怎么样,参加沟通的人数>1,想尽一切一切办法更快更好的完成相应的任务。
"协议"
无规矩不成方圆,做机密项目之前需要签署保密协议,找工作要签"三方协议",三方协议是学校,公司,和个人组成的协议,都是为了让大家受一定的约束,违反了即有相应的惩罚。
HTTP特点
说它简单是假的,简单的东西通常更具有扩展的可能性。根据需求的变更,越来越复杂。
- 1:灵活且易扩展,他的头部字段很多都是可定制且可扩展
- 2:应用广泛。各个领域都有涉及。"跨平台,跨语言"
- 3:无状态。没有记忆功能,少功能即少占用资源。另外无状态更容易搭建集群,通过负载均衡将请求转发到任意一台服务器。缺点是无法支持需要连续步骤的"事务"操作。我们知道TCP协议有11种状态,不同状态代表通信过程中不同的含义。同样操作系统中的进程也有执行,就绪,活动阻塞等多种状态。但是HTTP全程都是"懵逼"无状态。比如小华请求服务器获取视频X,服务器觉得可行就发给小华。小华还想获取视频Y,这时服务器不会记录之前的状态,也就不知道这两个请求是否是同一个,所以小华还得告诉服务器自己的身份。
- 4:明文。优点是能让开发人员通过wireshark工具更直观的调试。缺点即裸奔互联网,没隐私可言。
- 5: 可靠传输。HTTP为应用层协议,基于TCP/IP,而TCP为“可靠”传输协议,因此HTTP能在请求应答中"可靠"传输数据。
- 6:应用层协议。应用层协议很多,其中常用的邮件协议SMTP,上传下载文件ftp,默认端口22/23,SSH远程登录(XSHELL)。这些应用层协议都太专一,而HTTP通过各种头部字段,实体数据的组合,并综合缓存代理等功能,功能更加强大。
这里看的可能会比较懵,等对HTTP有一个深入的了解之后再看这里,会有更深刻的体会。
网友评论