1.1 HTML 的历史
如今,几乎所有人都使用互联网。阅读文章、使用浏览器、关注链接。他们中只有少数人想知道互联网是何时以及由谁发明的?
这仍然取决于您对互联网的称呼。大多数情况下,外行意味着一回事,而技术人员意味着另一回事。连接世界上最大的数据中心的计算机网络创建于 70 年代。但是普通人可以访问的互联网(浏览器、链接、各种页面)是 90 年代初期一个人发明的。是这样的……
1990 年代初期,英国人蒂姆·伯纳斯-李 (Tim Berners-Lee)发明了互联网。尽管,尽管如此,他发明的东西更准确地称为 Web:,World Wide Web
他是www
,他也是万维网。是的,一个人发明了万维网。
从 1986 年到 1991 年,他在 CERN 研究中心(位于瑞士日内瓦)从事新的科学文档标准方面的工作。你看,科学家习惯以文章的形式发表科学论文,并在文章末尾标明所用文献列表。换句话说,科学知识是相互链接的文章列表。
顺便说一下,现代维基百科与其创建者对万维网的看法非常相似:相互链接的科学文章、所使用的来源和文献列表。如果 Tim 幸运的话,那么网络仍将是这个样子。但是在通往更光明未来的道路上,世界在某个地方走错了路:)
网络基于三种技术:
HTML-page
,其中包含文字、图片和其他链接HTML-pages.
HTML-page
•以最人性化的方式显示的浏览器。- • 协议
http
——网络服务器与浏览器和彼此通信的标准。
Tim Berners-Lee 并没有发明这些东西,而是将它们标准化。HTML
- 是在标准的基础上创建的SGML
。标签也是从那里借来的。但世界上第一个名为WorldWideWeb
Tim 的网络浏览器是他自己编写的,时间可以追溯到 1990 年。
1.2 HTML 不是编程语言
HTML
它不是一种编程语言,而且从来都不是。永远不要那样说。即使你会写简历,也绝对不要HTML
在编程语言部分注明,只能在工具(技术)部分注明。在你的简历中写下你知道一门编程语言将是一个严重的错误HTML
。为什么?
关键是HTML
它是一种文档标记语言。如果我们非常简化的话,那HTML-document
就是一个文本(文档)里面插入了图片、表格、链接等。
假设您想写一篇文章:
- 文章标题(title)。
- 文章本身,由一个段落组成。
- 图片。
- 您想用粗体显示的一些重要陈述。
- 在文章的中间,提供一些有用信息的链接。
以下是该文档在浏览器中的外观:
家猫
从科学分类学的角度来看,家猫是食肉目猫科的哺乳动物。通常,家猫被认为是森林猫的亚种,但是,从现代生物分类学(2017 年)的角度来看,家猫是一个独立的生物物种。

很好,对吧?该标准HTML
允许您使该文档对人类和计算机都可读。这是它的样子HTML-standard
:
<h1>家猫</h1>
从科学分类学的角度来看,家猫是食肉目猫科的<a href=”/”>哺乳动物</a> 。通常,家猫被认为是森林猫的亚种,但是,从现代生物分类学(2017)的角度来看,家猫<b>是一个独立的生物物种</b>。
<img src=”cat.jpg”>
文章文本中添加了特殊标签(以红色突出显示),人和计算机(浏览器)都可以理解这些标签。浏览器可以为读者精美地展示文章,文章的作者可以轻松编辑。
1.3 HTTP协议的出现
该缩写HTML
代表Hyper Text Markup Language
超文本文档标记语言。超文本是由相互链接的页面组成的文档。它是什么http
?
HTTP
代表Hyper Text Transfer Protocol
超文本传输协议(标准)。http
或者https
如果您尝试将链接复制到打开的页面,您可以在浏览器的地址栏中看到。
典型的页面链接如下所示:
http://google.com/logo.jpg
链接的最开头是协议名称,后跟一个冒号和两个正斜杠。蒂姆·伯恩斯-李 (Tim Bernes-Lee) 曾在一次采访中表示,如果他知道该协议http
会如此受欢迎,他就会想出更短的内容。http://
(毕竟,世界上几乎所有链接都以or开头https://
)
让我们回到浏览器。当浏览器请求时html-page
,它向服务器发送一个文本文件(请求)并接收另一个文本文件(响应)作为回报。这种操作模式称为客户端-服务器。
首先是关键信息,然后是服务信息。文本查询的第一行由模式给出:
MethodURI HTTP/Version
CodeGym 用户的个人页面由链接给出
https://codegym.cc/me
http-request
浏览器看起来像这样:
GET /me HTTP/1.0
Host: codegym.cc
作为响应,服务器很可能会发送
HTTP/1.0 200 OK
<html>page text...
响应文本中的第一行是http 协议版本和响应状态 (200, OK)。然后是一个空行,然后只是以文本形式出现html-page
浏览器请求的行。一切都很简单:)