HTTP是什么?

HTTP 全程超文本传输协议(HyperText Transfer Protocol)。

包含三部分:超文本、传输、协议。

1. 协议

HTTP是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。

2. 传输

HTTP是一个“传输协议”,把一堆东西从A点搬到B点,或从B点搬到A点(A<===>B)。

  • 双向协议,请求方可以发送数据给响应方;响应方也可以把数据发送给请求方。
  • 数据可以在多个角色间传输(A<=>X<=>Y<=>Z<=>B),这些角色也遵从HTTP协议。

    只要保证基本数据传输,还能加上额外功能,比如安全认证,数据压缩,编码转换等等。

HTTP是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。

3. 超文本

超文本是文字、图片、音频、视频等的混合体,包含超链接,比如HTML。

HTML本身是纯文字文件,但是内部用很多标签定义了对图片、音频、视频等的链接,通过浏览器的解释,呈现在我们面前的就是一个含有多种视听信息的页面。

总结:HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。


HTTP 不是什么?

1. HTTP不是互联网(Internet)

2. HTTP不是编程语言,但是编程语言可以实现HTTP

3. HTTP不是HTML

HTML是超文本的载体,是一种标记语言。

HTML可以被HTTP协议传输,同样图片、音频等资源也可以被HTTP协议传输。

4. HTTP不是一个孤立协议

HTTP通常跑在TCP/IP协议栈之上,依靠IP协议实现寻址和路由,依靠TCP协议实现可靠数据传输,依靠DNS协议实现域名查找,依靠SSL/TLS协议实现安全通信。此外,还有一些协议依赖于HTTP,例如 WebSocket、HTTPDNS等。这些网络交织形成协议网,而HTTP处于中心地位。


总结

  1. HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
  2. HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。
  3. HTTP 传输的是文字、图片、音频、视频等超文本数据。
  4. HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。

随机推荐

  1. Jmeter逻辑控制器Switch Controller的用法

    一.概述 类似编程语言中的switch函数,Switch Controller根据给定的值n(可使用变量)选择执行其下的 第n+1个子节点. 作用:Switch Controller通过给该控制器中的 ...

  2. 【译】IntelliJ IDEA 2023.2 最新变化——JetBrains IDE 中的 AI 助手

    前言 本周所有基于 IntelliJ 的 IDE 和 .NET 工具的 EAP 版本都包含一个主要新功能:AI Assistant.本博文重点介绍我们基于 IntelliJ 的 IDE,并且即将推出专 ...

  3. 如何使用Python进行投资收益和风险分析

    如何投资是现代企业.个人投资者所面临的实际问题,投资的目标是收益尽可能大,但是投资往往伴随着风险,如果在保证收益最大化的情况下,风险最小:或是风险相同的情况下,如何实现收益的最大化:通过本实训,可以使 ...

  4. 拓展kmp

    Smiling & Weeping ---- 我从不觉得暗恋是苦涩的, 对一个人的喜欢藏在眼睛里, 透过它, 世界都变得更好看了. 题目:P5410 [模板]扩展 KMP(Z 函数) - 洛谷 ...

  5. 对称加密 vs 非对称加密

    计算机网络在给我们带来便利的同时,也存在很多安全隐患,比如信息伪造,病毒入侵,端点监听,SQL 注入等,给我们日常生活造成很严重的影响. 那么这篇文章我就跟大家聊聊常见的网络安全隐患,只作为科普,不能 ...

  6. 在线问诊 Python、FastAPI、Neo4j — 创建 节点关系

    目录 关系:症状-检查 关系:疾病-症状 代码重构 relationship_data.csv 症状,检查,疾病,药品,宜吃,忌吃 "上下楼梯疼,不能久站,感觉有点肿"," ...

  7. 我封装的一个REPR轮子 Biwen.QuickApi

    Biwen.QuickApi 项目介绍 [QuickApi("hello/world")] public class MyApi : BaseQuickApi<Req,Rsp ...

  8. 在Go中如何实现并发

    Go语言的并发机制是其强大和流行的一个关键特性之一.Go使用协程(goroutines)和通道(channels)来实现并发编程,这使得编写高效且可维护的并发代码变得相对容易.下面是Go的并发机制的详 ...

  9. 一种对数据库友好的GUID的变种使用方法

    概述 .NET生成的GUID唯一性很好,用之方便,但是,缺少像雪花算法那样的有序性.虽然分布式系统中做不到绝对的有序,但是,相对的有序对于目前数据库而言,索引效率等方面的提升还是有明显效果的(当然,我 ...

  10. 2006年piner的面试题

    数据库切换日志的时候,为什么一定要发生检查点?这个检查点有什么意义?表空间管理方式有哪几种,各有什么优劣.本地索引与全局索引的差别与适用情况.一个表a varchar2(1),b number(1), ...