---
author: Mike Bursell
category: 观点
comments_data:
- date: '2021-02-18 22:40:26'
  message: 最喜欢听前辈们讲互联网前期的故事了
  postip: 61.93.139.166
  username: 来自香港的 Firefox 86.0|Android 8.1 用户
count:
  commentnum: 1
  favtimes: 0
  likes: 0
  sharetimes: 0
  viewnum: 8078
date: '2021-02-18 16:18:08'
editorchoice: false
excerpt: 互联网诞生之时我的个人故事。
fromurl: https://opensource.com/article/19/3/when-web-grew
id: 13130
islctt: true
largepic: /images/p/202102/18/161753qb8tytkc6bnxbavn.jpg
permalink: /article-13130-1.html
pic: /images/p/202102/18/161753qb8tytkc6bnxbavn.jpg.thumb.jpg
related: []
reviewer: wxy
selector: lujun9972
summary: 互联网诞生之时我的个人故事。
tags:
- Web
- 浏览器
thumb: false
title: Web 的成长，就是一篇浏览器的故事
titlepic: true
translator: XYenChi
updated: '2021-02-18 16:18:08'
---


> 
> 互联网诞生之时我的个人故事。
> 
> 
> 


![](/images/p/202102/18/161753qb8tytkc6bnxbavn.jpg)


最近，我和大家 [分享了](https://opensource.com/article/18/11/how-web-was-won) 我在 1994 年获得英国文学和神学学位离开大学后，如何在一个人们还不知道 Web 服务器是什么的世界里成功找到一份运维 Web 服务器的工作。我说的“世界”，并不仅仅指的是我工作的机构，而是泛指所有地方。Web 那时当真是全新的 —— 人们还正尝试理出头绪。


那并不是说我工作的地方（一家学术出版社）特别“懂” Web。这是个大部分人还在用 28.8K 猫（调制解调器，俗称“猫”）访问网页的世界。我还记得我拿到 33.6K 猫时有多激动。至少上下行速率不对称的日子已经过去了，<sup class="footnote-ref"> <a href="#fn1" id="fnref1">  [1] </a></sup> 以前 1200/300 的带宽描述特别常见。这意味着（在同一家机构的）印刷人员制作的设计复杂、色彩缤纷、纤毫毕现的文档是完全不可能放在 Web 上的。我不能允许在网站的首页出现大于 40k 的 GIF 图片，这对我们的许多访问者来说是很难接受的。大于大约 60k 图片的会作为独立的图片，以缩略图链接过去。


如果说市场部只有这一点不喜欢，那是绝对是轻描淡写了。更糟的是布局问题。“浏览器决定如何布局文档，”我一遍又一遍地解释，“你可以使用标题或者段落，但是文档在页面上如何呈现并不取决于文档，而是取决于渲染器！”他们想控制这些，想要不同颜色的背景。后来明白了那些不能实现。我觉得我就像是参加了第一次讨论层叠样式表（CSS）的 W3C 会议，并进行了激烈地争论。关于文档编写者应控制布局的建议真令人厌恶。<sup class="footnote-ref"> <a href="#fn2" id="fnref2">  [2] </a></sup> CSS 花了一些时间才被人们采用，与此同时，关心这些问题的人搭上了 PDF 这种到处都是安全问题的列车。


如何呈现文档不是唯一的问题。作为一个实体书出版社，对于市场部来说，拥有一个网站的全部意义在于，让客户（或者说潜在的客户）不仅知道一本书的内容，而且知道买这本书需要花多少钱。但这有一个问题，你看，互联网，包括快速发展的万维网，是开放的，是所有都免费的自由之地，没有人会在意钱；事实上，在那里谈钱是要回避和避免的。


我和主流“网民”的看法一致，认为没必要把价格信息放在线上。我老板，以及机构里相当多的人都持相反的意见。他们觉得消费者应该能够看到书要花多少钱。他们也觉得我的银行经理也会想看到我的账户里每个月进了多少钱，如果我不认同他们的观点的话，那我的收入就可能堪忧。


幸运的是，在我被炒鱿鱼之前，我已经自己认清了一些 —— 可能是在我开始迈入 Web 的几星期之后，Web 已经发生变化，有其他人公布他们的产品价格信息。这些新来者通常被那些从早期就开始运行 Web 服务器的老派人士所看不起，<sup class="footnote-ref"> <a href="#fn3" id="fnref3">  [3] </a></sup> 但很明显，风向是往那边吹的。然而，这并不意味着我们的网站就赢得了战争。作为一个学术出版社，我们和大学共享一个域名（在 “[ac.uk](http://ac.uk)” 下）。大学不太相信发布价格信息是合适的，直到出版社的一些资深人士指出，普林斯顿大学出版社正在这样做，如果我们不做……看起来是不是有点傻？


有趣的事情还没完。在我担任站点管理员（“webmaster@…”）的短短几个月后，我们和其他很多网站一样开始看到了一种令人担忧的趋势。某些访问者可以轻而易举地让我们的 Web 服务器跪了。这些访问者使用了新的网页浏览器：网景浏览器（Netscape）。网景浏览器实在太恶劣了，它居然是多线程的。


这为什么是个问题呢？在网景浏览器之前，所有的浏览器都是单线程。它们一次只进行一个连接，所以即使一个页面有五张 GIF 图，<sup class="footnote-ref"> <a href="#fn4" id="fnref4">  [4] </a></sup> 也会先请求 HTML 基本文件进行解析，然后下载第一张 GIF，完成，接着第二张，完成，如此类推。事实上，GIF 的顺序经常出错，使得页面加载得非常奇怪，但这也是常规思路。而粗暴的网景公司的人决定，它们可以同时打开多个连接到 Web 服务器，比如说，可以同时请求所有的 GIF！为什么这是个问题呢？好吧，问题就在于大多数 Web 服务器都是单线程的。它们不是设计来一次进行多个连接的。确实，我们运行的 HTTP 服务的软件（MacHTTP）是单线程的。尽管我们花钱购买了它（最初是共享软件），但我们用的这版无法同时处理多个请求。


互联网上爆发了大量讨论。这些网景公司的人以为他们是谁，能改变世界的运作方式？它应该如何工作？大家分成了不同阵营，就像所有的技术争论一样，双方都用各种技术热词互丢。问题是，网景浏览器不仅是多线程的，它也比其他的浏览器更好。非常多 Web 服务器代码维护者，包括 MacHTTP 作者 Chuck Shotton 在内，开始坐下来认真地在原有代码基础上更新了多线程测试版。几乎所有人立马转向测试版，它们变得稳定了，最终，浏览器要么采用了这种技术，变成多线程，要么就像所有过时产品一样销声匿迹了。<sup class="footnote-ref"> <a href="#fn5" id="fnref5">  [5] </a></sup>


对我来说，这才是 Web 真正成长起来的时候。既不是网页展示的价格，也不是设计者能定义你能在网页上看到什么，<sup class="footnote-ref"> <a href="#fn6" id="fnref6">  [6] </a></sup> 而是浏览器变得更易用，以及成千上万的浏览者向数百万浏览者转变的网络效应，使天平向消费者而不是生产者倾斜。在我的旅程中，还有更多故事，我将留待下次再谈。但从这时起，我的雇主开始看我们的月报，然后是周报、日报，并意识到这将是一件大事，真的需要关注。




---



1. 它们又是怎么回来的？ [↩︎](#fnref1)
2. 你可能不会惊讶，我还是在命令行里最开心。 [↩︎](#fnref2)
3. 大约六个月前。 [↩︎](#fnref3)
4. 莽撞，没错，但它确实发生了 <sup class="footnote-ref"> <a href="#fn7" id="fnref7">  [7] </a></sup> [↩︎](#fnref4)
5. 没有真正的沉寂：总有一些坚持他们的首选解决方案具有技术上的优势，并哀叹互联网的其他人都是邪恶的死硬爱好者。 <sup class="footnote-ref"> <a href="#fn8" id="fnref8">  [8] </a></sup> [↩︎](#fnref5)
6. 我会指出，为那些有各种无障碍需求的人制造严重而持续的问题。 [↩︎](#fnref6)
7. 噢，不，是 GIF 或 BMP，JPEG 还是个好主意，但还没有用上。 [↩︎](#fnref7)
8. 我不是唯一一个说“我还在用 Lynx”的人。 [↩︎](#fnref8)





---


via: <https://opensource.com/article/19/3/when-web-grew>


作者：[Mike Bursell](https://opensource.com/users/mikecamel) 选题：[lujun9972](https://github.com/lujun9972) 译者：[XYenChi](https://github.com/XYenChi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出