专栏首页share ai happiness超文本传输协议 - 白话篇

超文本传输协议 - 白话篇

再给大家介绍另一个小编,他也是一名在校学生,为什么会有写网络相关的想法呢?因为这几天在给图书馆的服务器装环境,在配置网络上面一直停滞不前,决定重新学习一遍计算机网络,他会将每天学到的知识通过大白话的方式写出来,请大家多多支持。

本次主要介绍HTTP基本概念

HTTP 是什么?描述一下

官方回答:HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。

能否详细解释「超文本传输协议」?

HTTP的名字「超文本协议传输」,它可以拆成三个部分:

  • 超文本
  • 传输
  • 协议

什么是协议?

在生活中,我们也能随处可见「协议」,例如:

  • 刚毕业时会签一个「三方协议」;
  • 找房子时会签一个「租房协议」;

生活中的协议,本质上与计算机中的协议是相同的,协议的特点:

  • 「协」字,代表的意思是必须有两个以上的参与者。例如三方协议里的参与者有三个:你、公司、学校三个;租房协议里的参与者有两个:你和房东。
  • 「议」字,代表的意思是对参与者的一种行为约定和规范。例如三方协议里规定试用期期限、毁约金等;租房协议里规定租期期限、每月租金金额、违约如何处理等。

针对 HTTP 协议,我们可以这么理解。

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

什么是传输呢?

所谓的「传输」,很好理解,就是把一堆东西从 A 点搬到 B 点,或者从 B 点 搬到 A 点。

别轻视了这个简单的动作,它至少包含两项重要的信息。

HTTP 协议是一个双向协议。

我们在上网冲浪时,浏览器是请求方 A ,百度网站就是应答方 B。双方约定用 HTTP 协议来通信,于是浏览器把请求数据发送给网站,网站再把一些数据返回给浏览器,最后由浏览器渲染在屏幕,就可以看到图片、视频了。

数据虽然是在 A 和 B 之间传输,但允许中间有中转或接力。

就好像第一排的同学想传递纸条给最后一排的同学,那么传递的过程中就需要经过好多个同学(中间人),这样的传输方式就从「A < --- > B」,变成了「A <-> N <-> M <-> B」。

而在 HTTP 里,需要中间人遵从 HTTP 协议,只要不打扰基本的数据传输,就可以添加任意额外的东西。

针对传输,我们可以进一步理解了 HTTP。

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

什么是超文本?

HTTP 传输的内容是「超文本」。

我们先来理解「文本」,在互联网早期的时候只是简单的字符文字,但现在「文本」的涵义已经可以扩展为图片、视频、压缩包等,在 HTTP 眼里这些都算作「文本」。

再来理解「超文本」,它就是超越了普通文本的文本,它是文字、图片、视频等的混合体,最关键有超链接,能从一个超文本跳转到另外一个超文本。

HTML 就是最常见的超文本了,它本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,再经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。

OK,经过了对 HTTP 里这三个名词的详细解释,就可以给出比「超文本传输协议」这七个字更准确更有技术含量的答案:

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

停。先别往下看。思考一下这个问题:

那「HTTP 是用于从互联网服务器传输超文本到本地浏览器的协议 ,这种说法正确吗?

DA:这种说法是不正确的。因为也可以是「服务器< -- >服务器」,所以采用两点之间的描述会更准确。

补充写知识点:

具体的状态码不在这里说明。

http常见的字段有哪些?

打开浏览器,按F12,刷新一些页面。

解释上面字段:

1)Accept:⽂本的格式 。

text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3

2)Accept-Encoding:编码格式

gzip, deflate, br

3)Connection:⻓链接 短链接

keep-alive

4)Cookie:验证⽤的

5)Host:域名

www.baidu.com

6)Referer:标志从哪个⻚⾯跳转过来的

7)User-Agent:浏览器和⽤户的信息

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36

本文分享自微信公众号 - 1001次重燃(smile765999),作者:木野归郎

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-10-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spark如何定位数据倾斜

    在大数据处理过程中常常出现数据倾斜(Data Skew)。那么,数据倾斜会造成什么问题呢?为什么要处理数据倾斜?

    木野归郎
  • 算法推荐 — 协同过滤

    求解评分矩阵的一种典型方法是:ALS,在spark-mllib库中有实现好的api;

    木野归郎
  • 聚类算法简析(一):朴素贝叶斯算法

    朴素贝叶斯算法常用于分类与预测的问题,比如给一个1000本书进行分类,可以分为文学类,管理类,技术类,教育类等等,即算法得到的结果是一组离散的代表类别的数据。比...

    木野归郎
  • Quartz.NET 1.0.1发布

    这个版本包含1.0版本发布以来发现的bug修复,也包括使用AdoJobStore时的性能优化,增加了一个新特性是对SQL Server Compact Edit...

    张善友
  • Quartz.NET 1.0正式发布

    Quartz.NET 项目在Marko Lahma的领导下,经历了2年多时间的开发,bug修复和新特性开发终于发布了1.0版本,这个版本对Quartz.NET来...

    张善友
  • 如何安全的使用Tor网络

    Tor是什么 Tor是互联网上用于保护您隐私最有力的工具之一,但是时至今日仍有许多人往往认为Tor是一个终端加密工具。事实上,Tor是用来匿名浏览网页和邮件发送...

    FB客服
  • 定位Oops的具体代码行

    来自Linus Torvalds的讨论: https://groups.google.com/group/linux.kernel/browse_thread/...

    一见
  • 【hrbust2294】修建传送门

    哈理工2016级新生程序设计全国邀请赛B题 n个点1~n,i到i+1的距离为a[i],现在可以在两个点之间建一个传送门,则两点之间距离为0,求建传送门后1号出...

    饶文津
  • LeetCode 1184. 公交站间的距离

    环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 ...

    Michael阿明
  • 如何用 GPT2 和 BERT 建立一个可信的 reddit 自动回复机器人?

    在讨论细节之前,我想对整个过程做一个概述。这个流程图显示了我需要训练的 3 个模型,以及将模型连接在一起以生成输出的过程。

    AI研习社

扫码关注云+社区

领取腾讯云代金券

,,