辑导语:User Agent,简称UA,中文名为用户代理,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计。接下来,本文作者为我们总结了其发展的趣味史。
最近在看《给产品经理讲技术》,其中有一段简要的提到了浏览器UserAgent的含义和作用。在最后作者暗示UserAgent的变迁是一段充满趣味性的历史,为了满足我的好(吃)奇(瓜)心理,我去深扒了一下。
结果不扒不知道,一扒吓一跳。今天就给大家分享一下这个陈年老瓜。
首先,我们先简要了解一下各大浏览器的出生日期:
大家先对这些浏览器的出生时间有一个概念,然后大家把板凳和西瓜拿好,让我们开始吧~
1989年,超级大神伯纳斯·李教授发明了万维网(World Wide Web,简称3W),然而大神并不满足于此,为了大家能更方便地访问万维网,大神大手一挥,推出了世界上第一款浏览器。
李大神寻思给它起个什么名字呢?
此时,李大神可能是懒虫上身,想也不想,要不就叫World Wide Web,跟大儿子(万维网)一个名字吧!
后来大神感觉交流起来不是很方便,经常不知道World Wide Web指的是谁,而且这么偷懒的行为有点对不起小儿子,于是把小儿子的名字改成了Nexus。
由于是浏览器的祖师爷,没有竞争对手,Nexus马上就流行了起来。
由于是最早的浏览器,Nexus只支持文字展示,还不支持图片展示,而这恰好给了竞争对手可乘之机,同时也是UserAgent的由来。
1993年,伊利诺伊的NCSA组织认为没有图片的网页就像失去颜色的世界!作为一群完美主义者,这完全不能忍!
因此他们发明了第一个可以显示图片的浏览器:Mosaic(马赛克),能显示图片,但大神们偏偏任性取名叫马赛克!众多吃瓜群众不禁直呼内行!
由于能显示图片的特性,Mosaic迅速流行了起来。但是到这里,大家可能会发现,此时的霸主是Nexus,它是不能显示图片的,而Mosaic能显示,这就叫html的开发陷入了两难的境地。
正当html开发者抓耳挠腮的时候,体贴的Mosaic想到了一个办法:这本质上就是一个身份的问题嘛,那我就在给你发请求的时候告诉你们我的身份,和Nexus区分开来不就行了?
这就是UserAgent的由来,它最初的作用只是向服务器表明自己的身份——Mosaic的UserAgent为:NCSA_Mosaic/2.0 (Windows 3.1)
NCSA_Mosaic代表自己是什么浏览器,2.0代表版本号,Windows 3.1表示自己可以在什么系统下运行。
这样一来,html开发者该怎么开发还是怎么开发,只是如果UserAgent表明是Mosaic就发送带图片的网页,如果不是,就发送不带图片的网页。
但是,伊利诺伊的大神们到死也不会想到,就这么简单的一个UserAgent,竟然被后辈们玩出了花。
看到Mozilla,大家是不是很眼熟?随便打开一个浏览器,查看它的UserAgent,都会发现带有Mozilla标记。是不是很奇怪,为什么不同公司的浏览器,不管是IE、谷歌、Safari等,都带有Mozilla呢?听我慢慢道来。
在Mosaic如日中天的时候,一头初生怪兽偏偏不服,它为自己设立了一个伟大的目标:推翻Mosaic的霸主地位!
这头初生怪兽就是后来大名鼎鼎的网景公司,他们发明了一款浏览器,希望能够取代Mosaic!而不愧是初生怪兽,没别的,就是头铁,大神们给他们的浏览器取名为:Mozilla。
什么意思呢? Mozilla由“Mosaic Killa”(Killa是俚语中Killer的拼法)变化而来,并且是怪兽Godzilla(哥斯拉)的谐音,即“Godzilla eat the Mosaic!”
这就是赤果果的挑衅啊!你看,互联网的源头就充斥着血腥!
Mozilla大声喝问道:Mosaic你这老头子怕不怕!Mosaic瑟瑟发抖(不知道是气的,还是怕的)地看着这头狂妄的小怪兽,勃然大怒(恼羞成怒)到:“给老子滚粗!”
于是网景碍于当时Mosaic的江湖地位,不得已“从心”的把名字改成了Netscape Navigator(网景航海家)。
但是“小怪兽”口服心不服,仍然偷偷地在自己的UserAgent后面写上了Mozilla/1.0 (Win3.1)。
小怪兽还是有点本事的,NetScape最先支持html框架显示,就是简单的table布局,内外边距之类,仅仅这点在体验上就远超Mosaic。
所以,最后Mozilla如愿”吃掉了”Mosaic,成为了霸主。
开发者为了区别这两个浏览器,还是用的UserAgent。约定如果是UserAgent里含有“Mozilla”字样,就发送支持框架的页面,否则就发送不含框架的页面。
浏览器作为万维网的入口,从来都是战略必争之地,竞争自然无法避免。微软率先使出了”不要脸“战术”,仗着自己的操作系统地位,开发了一款强行和系统绑定的浏览器。
古语云:流氓不可怕,就怕流氓有文化!古人诚不欺我!
那么这个浏览器叫什么好呢?
吃瓜群众:Mozilla killer?
微软大神:滚蛋,能不能像我们一样成熟一点?!
务实的微软大神们取名可不搞这些花里胡哨的,直接取名叫IE,即Internet Explore,虽然没有Mozilla这么霸气,但是简单易懂且易记啊。
要想和Mozilla竞争,IE肯定也是支持html框架的,但是开发者们才不管,开发者们只会给UserAgent带有Mozilla的浏览器发送带框架的页面。
但是你以为这点小事就能难倒我大微软,天真!
微软眼咕噜一转,呵呵一笑:切,既然如此,那我易容成Mozilla不就行了?
于是,微软给IE披上了一层怪兽皮,把自己的UserAgent改成了:Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)。
你看,我也是Mozilla,这样你就可以把带框架的页面发给我了~
尝到耍流氓甜头的微软一发不可收拾,利用自己操作系统的优势,将易容后的IE强制和操作系统绑定:你就用我的系统免费赠送的IE浏览器,还要啥自行车?!
凭借不输Mozilla的性能和流氓的手段,IE最终战胜了Mozilla,但是从此IE也永久带上了Mozilla的标记。
但是,怪兽不愧是怪兽,强大的怪兽怎么能被流氓轻易击败呢?!
曾经Mozilla的大神们卷土重来,他们使用浏览器排版引擎Gecko(壁虎)发明了另一款优秀的浏览器,它在插件拓展和开发调试领域做出的贡献,绝对可以载入互联网历史。
这么跨时代的创造,叫什么好呢?众所周知,Mozilla的大神们总是对怪兽情有独钟,既然我们从失败中浴火重生,那么其名曰:Phoenix(凤凰)!!
但是Phoenix(凤凰)还没起飞就遭遇了折翼,旁边一家叫凤凰科技的公司强烈抗议:魂淡,是我先叫Phoenix(凤凰)的,你们侵权了!
大神们很无奈,没办法,那我们叫Firebird(火鸟),总行了吧?!虽然听起来挺中二的,但是也不行。因为有一款数据库也叫这个名字。
大神们抓狂,起个名字怎么这么难?!泪流满面的大神们最终给这款划时代的浏览器起名叫FireFox(火狐)。
FireFox(火狐)至今还是最常用的浏览器之一,可见其优秀程度竟恐怖如斯!
大神们为了告诉开发者们,我是如此的优秀,你们可以给我更好更炫酷的页面了!
于是,FireFox(火狐)标志自己的UserAgent为:Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0。
虽然这个UserAgent看起来很长,但是信息还是比较清晰,表明了自己的身份是Moziila5.0和Firefox/1.0,支持的系统和使用的Gecko的引擎。
和之前一样,开发者们只会给作为开创者的FireFox(火狐)发送更优质的html页面。FireFox(火狐)凭借优秀的性能,发展非常迅速,虽然没有打败IE,但是也能和IE分庭抗礼。
而在IE和FireFox(火狐)互掐的时候,其实市场上还存在另外一个著名的操作系统Linux。Linux看着Window的IE浏览器非常眼红,于是寻思着也开发一款基于Linux的浏览器。
大神就是大神,开发浏览器就是小菜一碟!成功以后,Linux大神们一样不能免俗,要为自己的孩子起一个响亮且霸气的名字。
前有Moziila(哥斯拉),后有IE(探索者),那我们…..嗯,就叫:Konqueror(Conqueror的变体,低调低调)征服者吧!(666666)。
但是,Konqueror使用的是KHTML排版引擎,失去了先发优势。所以,Konqueror也遇到了和IE类似的问题:开发者们只认UserAgent里面带有Gecko的浏览器,不带就休想获得带有良好排版的页面!
小Konqueror非常无奈,万分纠结之下,做出了一个又骚又贱但是又特别萌的操作,把自己的UserAgent写成:Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)。
就这样,伟大的Konqueror为了获取更优质的页面,也不得不耍了点小心机。从此,(KHTML,like Gecko) 与IE的Mozilla一样成了一道抹不去的印记。
发展到这,你以为就结束了吗?天真!在互联网这个狂热的世界,只有你想不到,没有你做不到!
脑洞大开的Opera觉得IE和Konqueror的做法真的太棒了,甚得吾心!那咱也不能示弱啊:既然有这么多可以选择的UserAgent(马甲),那我们是不是可以想变成谁就变成谁?!(Opera的大神们可能是百变小樱的忠实粉丝)。
Opera直接在菜单提供了三个选择项:
第一个是IE,第二个是火狐,第三个才是自己,芭芭拉小魔仙,你想变谁就变谁!
与此同时,在科技的贵圈里,怎么能少得了我大Apple?!苹果公司依靠“自己的”WebKit,开发出Safari,并将UserAgent命名为:Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5。
诶?!仔细一看,这不对啊,AppleWebKit不是苹果公司自己的吗,为啥还会带有(KHTML, like Gecko)?!
苹果邪魅一笑:呵呵,大惊小怪,因为我们的内核Webkit排版引擎的核心叫WebCore,而WebCore是KHTML衍生而来的。也就是说,WebCore是KHTML的儿子,子承父业,苹果公司只能在UserAgent加上 (KHTML, like Gecko) 。
在越发混乱的浏览器贵圈里,谷歌也不甘寂寞,跳出来大声宣布:我大谷歌也开发了一款浏览器,它叫Chrome!
而Chrome设定的UserAgent为:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13。
Safari一看:卧槽,从未见过如此厚颜无耻之徒!你怎么也在后面写有Safari?
Chrome呵呵一笑,你懂的——原来Chrome浏览器的内核也是Webkit。
所以,最后让我们来顺一下:
至此,现在的浏览器,你随便打开一个,查看他们的UserAgent,都会发现或多或少带有这些印记。
大家现在应该明白浏览器中那长长的UserAgent是怎么来的了吧。
作者:Jarvan;公众号:产品叨比叨
本文由 @Jarvan 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
文笔者将与大家分享HTML/CSS/JavaScript这三种网页技术,以及HTML5、H5等的相关知识。
网页存储在某台计算机(即服务器)上,并通过网络与其他计算机相连。网页通过网址(URL)来识别与访问,当我们在浏览器输入网址后,经过一段复杂而又快速的程序,网页会被下载到用户的计算机上,用户的浏览器会解析网页内容,最终展示给用户。
网页展示的信息可以包括:图片、文字、音频、视频等内容,网页上面还有链接指向更多的网页,最终形成一个巨大的互联网。
比如:百度的网页就存储在百度的服务器中,当我们在浏览器中输入网址www.baidu.com(即URL地址),百度的网页会从服务器下载到本地计算机上,浏览器接收这些数据并解析,百度的首页就显示出来了。
在电脑端,我们使用浏览器浏览网页,比如:使用Internet Explorer、Edge、Chrome、Safari、360安全浏览器、搜狗浏览器、QQ浏览器等浏览器,访问的网页可以是搜索引擎https://www.baidu.com,可以是电商平台https://www.taobao.com,甚至是社交平台https://wx.qq.com。
由于移动互联网的大发展,很多人可能没有意识到,网页其实可以实现大部分常用的功能。
手机、iPad上也有各种浏览器,我们可以输入网址并直接访问,各大手机厂商在手机中预先安装了自己的浏览器,阿里巴巴、百度、腾讯、搜狗等互联网公司也推出了自家的浏览器APP。为了获得竞争优势,互联网公司还在浏览器上开发了各种功能,比如:智能搜索、去广告插件等。
除了浏览器,不少APP也嵌入了浏览器功能。
比如:微信的公众号,我们打开一篇微信公众号文章,就是打开一个网页;等新闻客户端也是个巨大的浏览器,我们打开一条新闻,就是进入相应的网页;淘宝里面的商品简介,也是个网页。这些网页“伪装”得太像APP页面了,以至于我们没有意识到。
文字、图片、表格、音频、视频是网页最常见的元素。
在网页上点击鼠标右键,选择菜单中的 “查看源文件” ,就可以看到网页的实际内容:网页实际上只是一个纯文本文件!它通过各式各样的标记对页面上的文字、图片、表格、声音等元素进行描述,而浏览器则对这些标记进行解释并生成页面,于是就得到我们看到的丰富的页面。
比如:在微信公众平台官网(>https://mp.weixin.qq.com)点击右键,查看源文件,可以发现这个网页的源文件全都都是文字。
你可能会奇怪,为什么在源文件看不到任何图片,而在浏览器显示的时候可以看到呢?
这些文件中存放的只是图片的链接位置,图片与网页文件是各自独立存放的,甚至可以不在同一台计算机上,浏览器可以自动访问这些链接并显示出来。音频、视频等非文字内容也是类似的。
绝大多数网页是由HTML、CSS和JavaScript三种技术开发的,HTML/CSS/JavaScript也被称为网页三剑客。
HTML提供网页内容和结构,CSS控制网页的外观,JavaScript提供用户交互,一个很经典的例子是说HTML就像一个人的骨骼、器官,而CSS就是人的皮肤,有了这两样也就构成了一个植物人了,加上javascript这个植物人就可以对外界刺激做出反应,可以思考、运动、可以给自己整容化妆等等,成为一个活生生的人。
HTML(Hypertext Markup Language,超文本标记语言)是一门标记语言,用于创建网页和 Web 应用程序,HTML的基本元素是<p><img><table>等元素,分别表示文本、图像、表格等。浏览器发出 URL 请求时,首先需要返回 HTML 文档,之后浏览器对该文件进行解析。
比如:下面是一个基本的网页,左边是网页源代码,右边是展示效果。<html></html>之间是网页的全部内容,<head></head>之间是标题相关的内容,这里为空,<body></body>之间是网页的主体内容,<h1></h1>之间是标题,<p></p>之间的内容是正文。
CSS(Cascading Stylesheet,级联样式表)用于控制 HTML 元素的外观和布局,对文档进行修饰,使文档更加美观,用户看起来更舒服。 CSS 样式可直接应用于 HTML 元素,单独对单个界面装饰,也可以对多个界面装饰。
比如,下面是一个添加CSS样式的网页,左边是网页源代码,右边是展示效果。body{background-color:#d0e4fe},设置了<body></body>之间的内容的背景颜色是#d0e4fe,h1{color:orange;text-align:center;}设置了<h1></h1>之间的文字颜色为橙色(orange),文字的位置是居中(center)。
为了提高编程效率,通常将CSS单独写在一个文件中,而是不是将CSS与HTML混合编程。
JavaScript 是动态的解释性编程语言,可以实现用户的交互和数据传输。
比如:我们常见的账号、密码验证,就是通过JavaScript传递到服务器并返回服务器处理结果的。
比如:下面是一个添加JavaScript的网页,左边是网页源代码,右边是展示效果。<script>function displayDate{document.getElementById(“demo”).innerHTML=Date;}</script> 是JavaScript代码,点击按钮,id=demo的内容变成时间。
与CSS类似,通常将 JavaScript 组织到单独的文件中,而不是与HTML混合编程。为了提高JavaScript开发速度,也有一些开源库可以使用,常见的是jQuery 、Vue.js, 极大地简化了 JavaScript 编程。
为了提高网站的设计、编程速度,也有很多开源的库可以使用,最常用的Bootstrap库。Bootstrap库来自 Twitter,是目前最受欢迎的前端框架,Bootstrap 是基于 HTML、CSS、JavaScript的,它简洁灵活,使得 Web 开发更加快捷。
2014年10月,万维网联盟宣布,经过接近8年的艰苦努力,HTML5标准规范终于制定完成。
从技术上看,HTML5本身是HTML,HTML是超文本标记语言,“5” 代表HTML第五次重大修改,可以理解为迭代之后的第五个版本,包含了很多功能特性。
HTML5的设计目的是:在移动设备上支持多媒体。
为了实现这种目的,HTML5引入了新的特性,比如用于绘画的 canvas 元素,可以使用HTML5绘制简单的图像;用于视频和音频的的 video 和 audio 元素,可以使用HTML5播放视频和音频; HTML5可以调用数据库;新的控件,比如 calendar、date、time、email、url、search,可以使用HTML5实现更好的用户交互。
“刷爆朋友圈的H5”,“0基础学习H5…”,“H5速成班”,H5这个词经常出现在媒体中,甚至还出现了在线H5制作平台,我们可以通过点击、拖动实现美观的网页。
比如:我们可以使用百度的H5在线制作平台,免费制作H5网页。
显然,这里所说的H5不是HTML5编程规范,更像是一种利用HTML5技术,制作包含文字、图片、音频等内容的炫酷网页,以此实现“病毒式营销”。
因此,H5并非技术概念,与其说是H5,不如说是“移动营销页面”,是营销领域“滥用”技术名词的产物。
因此,出现《H5+移动营销设计指南》这类的书籍就不奇怪了。根据这本书的介绍,H5的原型要具备视觉、动效、节奏、音效、交互、可实施性等因素,H5页面不太适合深度的阅读,大部分使用场景是在地铁上、电梯里、等上菜的时间等等。
2018年,宣称拥有自主可控和安全浏览器内核技术的浏览器厂商“红芯”高调宣布融资2.5亿元C轮系列融资,其中不乏晨兴资本、达晨创投、IDG资本等知名风险投资机构参与。
随后,网友发现:红芯浏览器的文件结构与谷歌浏览器文件结构基本一模一样,甚至连“属性”里的Chrome都没有改掉,安装文件里竟然还有Chrome的LOGO。
浏览器内核是浏览器的核心,红芯浏览器并没有自己开发浏览器内核,而是使用Chrome内核,这意味着“红芯”并不是自主可控的浏览器,而是在Chrome内核的基础上,换了个“皮”,做出了一个浏览器。
不少手机游戏厂商也在玩儿类似的游戏,将国外的游戏换个背景,再把英文翻译成中文,就直接在国内上线。
网页是由HTML、CSS、JavaScript等语言开发的,浏览器获得HTML网页之后,需要根据CSS、JS重新组织网页并显示在屏幕上。
比如:我们访问微信公众平台的首页https://mp.weixin.qq.com,浏览器获得的是一堆文字,浏览器需要将这些文字变成我们看到的界面。
实现这些工作的就是浏览器内核。浏览器内核又可以分成两部分:渲染引擎(Rendering Engine)和 JS (JavaScript)引擎。
渲染引擎负责取得网页的内容(HTML、XML、图像等等)、整理信息(例如加入 CSS 等),计算网页的显示方式,然后会输出至显示屏。浏览器内核对网页的语法解释会有所不同,所以渲染的效果也不相同。
JS 引擎则是解析 Javascript 语言,执行 javascript 语言来实现网页的动态效果和用户交互。
浏览器的种类有很多,但浏览器内核就那么几个。常见的是微软 IE 浏览器内核 Trident、谷歌 Chrome 浏览器内核 Blink、苹果 Safari 内核 Webkit 和火狐浏览器内核 Gecko。
国内的浏览器,比如:360浏览器、QQ浏览器、搜狗浏览器、2345浏览器等,实际上使用的还是这几种开源的浏览器内核,并在内核的技术上,做了一些界面和效果。
比如:一些浏览器打出双引擎的旗号,所谓双引擎就是使用了IE和Chrome两个引擎,因为国内的很多网站还只能使用IE访问,最典型的就是很多银行的网站,这时候如果使用两个引擎可以给用户无缝切换,带来良好的体验。
正如发动机是汽车的核心一样,浏览器内核是浏览器的核心,那我们为什么不自己开发一个国产浏览器内核呢?
主要原因是两个:
本文由@linghu 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自Unsplash, 基于CC0协议
TTP是什么?
当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如www.microsoft.com,但是在浏览器的地址栏里面出现的却是:http://www.microsoft.com ,你知道为什么会多出一个“http”吗?
一、HTTP协议是什么
我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如:http://www.microsoft.com/china/index.htm。它的含义如下:
1. http://:代表超文本传输协议,通知microsoft.com服务器显示Web页,通常不用输入;
2. www:代表一个Web(万维网)服务器;
3. Microsoft.com/:这是装有网页的服务器的域名,或站点服务器的名称;
4. China/:为该服务器上的子目录,就好像我们的文件夹;
5. Index.htm:index.htm是文件夹中的一个HTML文件(网页)。
我们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Application layer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。
HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以http://开头的原因。
自WWW诞生以来,一个多姿多彩的资讯和虚拟的世界便出现在我们眼前,可是我们怎么能够更加容易地找到我们需要的资讯呢?当决定使用超文本作为WWW文档的标准格式后,于是在1990年,科学家们立即制定了能够快速查找这些超文本文档的协议,即HTTP协议。经过几年的使用与发展,得到不断的完善和扩展,目前在WWW中使用的是HTTP/1.0的第六版。二、HTTP是怎样工作的
既然我们明白了URL的构成,那么HTTP是怎么工作呢?我们接下来就要讨论这个问题。
由于HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP 80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。
这个过程就好像我们打电话订货一样,我们可以打电话给商家,告诉他我们需要什么规格的商品,然后商家再告诉我们什么商品有货,什么商品缺货。这些,我们是通过电话线用电话联系(HTTP是通过TCP/IP),当然我们也可以通过传真,只要商家那边也有传真。
以上简要介绍了HTTP协议的宏观运作方式,下面介绍一下HTTP协议的内部操作过程。
在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。这就好像上面的例子,我们电话订货的全过程。
其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求。你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP决定了每个数据包的格式。如果事先不告诉你,你可能不会知道信息被分成用于传输和再重新组合起来的许多小块。
也就是说商家除了拥有商品之外,它也有一个职员在接听你的电话,当你打电话的时候,你的声音转换成各种复杂的数据,通过电话线传输到对方的电话机,对方的电话机又把各种复杂的数据转换成声音,使得对方商家的职员能够明白你的请求。这个过程你不需要明白声音是怎么转换成复杂的数据的。
*请认真填写需求信息,我们会在24小时内与您取得联系。