GoogleHTTP和HTTPS都一样吗
本文目录
google是指什么
Google是全球享有盛誉的Internet互联网搜索引擎,如今,Google这个名字几乎成了互联网的代名词。
你知道Google这个名字是怎么来的吗?Google这个名字还有很多趣闻和丰富的知识呢。
Google是英文单词"Googol"按照通常的英语拼法改写而来的。Googol是一个大数的名称,他是10的100次方,表示1后面跟100个零。下面的一串就表示Googol。看上去好像没什么了不起,是吗?但是他比宇宙所有的基本粒子的数量总和还要大。
--------------------------------------------------------------------------------
10 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
--------------------------------------------------------------------------------
Googol是由美国数学家 Edward Kasner九岁的侄子 Milton Sirotta发明的,后来在数学家Edward Kasner和James Newman的著作《Mathematics and the Imagination》中被引用。Google公司采用这个词显示了公司想征服网上无穷无尽资料的雄心。Google公司没有采用Googol可能是因为版权的问题,而且当他们注册Google.com的时候,Googol.com已经被注册。
Googol已经够大了,但是比 Googol更大的数是计算机科学家 Frank Pilhofer定义的 Googolplex。它等于 10的 Googol次方。假如你也想看上面的Googol一样看看Googolplex的话,就很困难了,因为要想打印出来,需要3.125*10^85 years。(参阅The Googolplex Page)。
汉语里大数名字不多,通常用的亿、兆、京、垓分别是 10的 8次方、12次方、16次方和 20次方。由佛经引入的大数如恒河沙(10的 52次方)、频波罗(10的 56次方)比 Googol小,矜羯罗(10的 112次方)则已经远大于 Googol。佛经里最大的数叫做"不可说不可说转",为 10的 7 X 2122次方,是一个很难想象的大数,但比起 Googolplex来,还是小得多(本小节摘自比邻网译)。
Google名字由来--
你想知道Google着个词语怎么产生的吗?它并不出自字典...英文里原本没有Google这个词.
美国斯坦福大学的博士生拉里-佩奇和比他小一岁的同窗学友谢尔盖-布林在1998年为他们新创的搜索引擎公司,这家私人控股公司在1999年6月宣布,它已经集到了2,500万美元的资金。Google通过自己的公共站点 www.google.com提供服务。公司还为信息内容供应商提供联合品牌的网络搜索解决方案。
在取名时取的其实是数学名词"古戈尔"(googol,10的100次方,即数字1后跟100个零,常指巨大的数字)的谐音。
这显然是一个充满勃勃野心的创业梦想,用创建人佩奇的话说:"我们的任务就是要对世界上的信息编组"。"
Google搜索引擎、FTP、HTTP工作原理分别如何
搜索引擎并不真正搜索互联网,它搜索的实际上是预先整理好的网页索引数据库。
真正意义上的搜索引擎,通常指的是收集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。
现在的搜索引擎已普遍使用超链分析技术,除了分析索引网页本身的内容,还分析索引所有指向该网页的链接的URL、AnchorText、甚至链接周围的文字。所以,有时候,即使某个网页A中并没有某个词比如“恶魔撒旦”,但如果有别的网页B用链接“恶魔撒旦”指向这个网页A,那么用户搜索“恶魔撒旦”时也能找到网页A。而且,如果有越多网页(C、D、E、F……)用名为“恶魔撒旦”的链接指向这个网页A,或者给出这个链接的源网页(B、C、D、E、F……)越优秀,那么网页A在用户搜索“恶魔撒旦”时也会被认为更相关,排序也会越靠前。
搜索引擎的原理,可以看做三步:从互联网上抓取网页→建立索引数据库→在索引数据库中搜索排序。
从互联网上抓取网页
利用能够从互联网上自动收集网页的Spider系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。
建立索引数据库
由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。
在索引数据库中搜索排序
当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好,所以只需按照现成的相关度数值排序,相关度越高,排名越靠前。
最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
搜索引擎的Spider一般要定期重新访问所有网页(各搜索引擎的周期不同,可能是几天、几周或几月,也可能对不同重要性的网页有不同的更新频率),更新网页索引数据库,以反映出网页内容的更新情况,增加新的网页信息,去除死链接,并根据网页内容和链接关系的变化重新排序。这样,网页的具体内容和变化情况就会反映到用户查询的结果中。
互联网虽然只有一个,但各搜索引擎的能力和偏好不同,所以抓取的网页各不相同,排序算法也各不相同。大型搜索引擎的数据库储存了互联网上几亿至几十亿的网页索引,数据量达到几千G甚至几万G。但即使最大的搜索引擎建立超过二十亿网页的索引数据库,也只能占到互联网上普通网页的不到30%,不同搜索引擎之间的网页数据重叠率一般在70%以下。我们使用不同搜索引擎的重要原因,就是因为它们能分别搜索到不同的内容。而互联网上有更大量的内容,是搜索引擎无法抓取索引的,也是我们无法用搜索引擎搜索到的。
你心里应该有这个概念:搜索引擎只能搜到它网页索引数据库里储存的内容。你也应该有这个概念:如果搜索引擎的网页索引数据库里应该有而你没有搜出来,那是你的能力问题,学习搜索技巧可以大幅度提高你的搜索能力。
■全文搜索引擎
在搜索引擎分类部分我们提到过全文搜索引擎从网站提取信息建立网页数据库的概念。搜索引擎的自动信息搜集功能分两种。一种是定期搜索,即每隔一段时间(比如Google一般是28天),搜索引擎主动派出“蜘蛛”程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。
另一种是提交网站搜索,即网站拥有者主动向搜索引擎提交网址,它在一定时间内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。由于近年来搜索引擎索引规则发生了很大变化,主动提交网址并不保证你的网站能进入搜索引擎数据库,因此目前最好的办法是多获得一些外部链接,让搜索引擎有更多机会找到你并自动将你的网站收录。
当用户以关键词查找信息时,搜索引擎会在数据库中进行搜寻,如果找到与用户要求内容相符的网站,便采用特殊的算法——通常根据网页中关键词的匹配程度,出现的位置/频次,链接质量等——计算出各网页的相关度及排名等级,然后根据关联度高低,按顺序将这些网页链接返回给用户
■目录索引
与全文搜索引擎相比,目录索引有许多不同之处。
首先,搜索引擎属于自动网站检索,而目录索引则完全依赖手工操作。用户提交网站后,目录编辑人员会亲自浏览你的网站,然后根据一套自定的评判标准甚至编辑人员的主观印象,决定是否接纳你的网站。
其次,搜索引擎收录网站时,只要网站本身没有违反有关的规则,一般都能登录成功。而目录索引对网站的要求则高得多,有时即使登录多次也不一定成功。尤其象Yahoo!这样的超级索引,登录更是困难。(由于登录Yahoo!的难度最大,而它又是商家网络营销必争之地,所以我们会在后面用专门的篇幅介绍登录Yahoo雅虎的技巧)。此外,在登录搜索引擎时,我们一般不用考虑网站的分类问题,而登录目录索引时则必须将网站放在一个最合适的目录(Directory)。
最后,搜索引擎中各网站的有关信息都是从用户网页中自动提取的,所以用户的角度看,我们拥有更多的自主权;而目录索引则要求必须手工另外填写网站信息,而且还有各种各样的限制。更有甚者,如果工作人员认为你提交网站的目录、网站信息不合适,他可以随时对其进行调整,当然事先是不会和你商量的。
目录索引,顾名思义就是将网站分门别类地存放在相应的目录中,因此用户在查询信息时,可选择关键词搜索,也可按分类目录逐层查找。如以关键词搜索,返回的结果跟搜索引擎一样,也是根据信息关联程度排列网站,只不过其中人为因素要多一些。如果按分层目录查找,某一目录中网站的排名则是由标题字母的先后顺序决定(也有例外)。
目前,搜索引擎与目录索引有相互融合渗透的趋势。原来一些纯粹的全文搜索引擎现在也提供目录搜索,如Google就借用Open Directory目录提供分类查询。而象 Yahoo!这些老牌目录索引则通过与Google等搜索引擎合作扩大搜索范围。在默认搜索模式下,一些目录类搜索引擎首先返回的是自己目录中匹配的网站,如国内搜狐、新浪、网易等;而另外一些则默认的是网页搜索,如Yahoo。
■全文搜索引擎
在搜索引擎分类部分我们提到过全文搜索引擎从网站提取信息建立网页数据库的概念。搜索引擎的自动信息搜集功能分两种。一种是定期搜索,即每隔一段时间(比如Google一般是28天),搜索引擎主动派出“蜘蛛”程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。
另一种是提交网站搜索,即网站拥有者主动向搜索引擎提交网址,它在一定时间内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。由于近年来搜索引擎索引规则发生了很大变化,主动提交网址并不保证你的网站能进入搜索引擎数据库,因此目前最好的办法是多获得一些外部链接,让搜索引擎有更多机会找到你并自动将你的网站收录。
当用户以关键词查找信息时,搜索引擎会在数据库中进行搜寻,如果找到与用户要求内容相符的网站,便采用特殊的算法——通常根据网页中关键词的匹配程度,出现的位置/频次,链接质量等——计算出各网页的相关度及排名等级,然后根据关联度高低,按顺序将这些网页链接返回给用户……
搜索引擎的数据库是依靠一个叫“网络机器人(Spider)”或叫“网络蜘蛛(crawlers)”的软件,通过网络上的各种链接自动获取大量网页信息内容,并按以定的规则分析整理形成的。Google、百度都是比较典型的全文搜索引擎系统。
HTTPS和HTTP有什么区别,到底安全在哪里
在上网获取信息的过程中,我们接触最多的信息加密传输方式也莫过于 HTTPS了。每当访问一个站点,浏览器的地址栏中出现绿色图标时,意味着该站点支持 HTTPS信息传输方式。HTTPS是我们常见的 HTTP协议与某个加密协议的混合体,也就是 HTTP+S。这个 S可以是 TLS(安全传输层协议)、也可以是 SSL(安全套接层),不过我更认可另一个抽象概括的说法,HTTP+Security。
首先,HTTPS并不是这种加密技术的正式名称,HTTPS代表的是“在TLS/SSL上实现的HTTP协议”,因此实现加密的其实是位于HTTP下面的TLS/SSL层。
我们看看TLS/SSL所实现的几个主要机制:
1.证书:通过第三方权威证书颁发机构(如VeriSign)验证和担保网站的身份,防止他人伪造网站身份与不知情的用户建立加密连接。
2.密钥交换:通过公钥(非对称)加密在网站服务器和用户之间协商生成一个共同的会话密钥。
3.会话加密:通过机制(2)协商的会话密钥,用对称加密算法对会话的内容进行加密。
4.消息校验:通过消息校验算法来防止加密信息在传输过程中被篡改。
通过上述机制,用户与网站之间的传输内容受到了保护,因此能够获得很高的安全性。不过,任何密码学手段都不是绝对安全的,上面几个机制中其实都存在可能的风险:
1.证书:如果有人伪造证书,浏览器会发出警告,提示用户该网站的证书可能是伪造的,应该停止访问,但如果你无视浏览器的警告,你的会话信息就有可能被伪造者窃取。此外,如果第三方证书颁发机构遭到攻击,攻击者窃取了已颁发的证书密钥,就可以伪造相应的网站证书,完全骗过浏览器的安全机制,这样的例子的确曾经发生过。
2.密钥交换:RSA,这是一种最普遍使用的公钥加密算法,一般来说安全性很高。
3.会话加密:AES-256(CBC Mode),这是一种非常广泛使用的加密算法,采用256位密钥代表其安全性很高,如果采用128位密钥(AES-128)则安全性就差一些。
4.消息校验:SHA1,这是一种散列算法,SHA1的安全性比MD5要好,但如果采用SHA256则安全性会更好一些。
上面很抽象是不是,我们用“传纸条”这个人人小时候都做过的事来形象的说明一下。
HTTP
假设你现在正坐在教室里上课,现在你非常想和走道旁的迷人的 TA说一些话,一般这个时候你会用“传纸条”的方式来交流。而这个方式和 TCP/IP协议基本的工作模式十分相像:
通过小动作引起对方注意;
对方以多种可能的方式(注视、肢体语言等)回应于你;
你确认对方感知到你后,将纸条传给对方;
对方阅读纸条;
对方给予你阅读后的反应;
怎么样,这个流程是不是很熟悉?
如果你要传递纸条的 TA距离你很远怎么办?HTTP协议就是指你在纸条上写明你要传给的 TA是谁,或者 TA的座位在哪,接着只需要途径的同学拿到纸条后根据纸条上的指示依次将纸条传过去就 OK了。
这个时候问题来了:途径的同学完全可以观看并知道你在纸条上写了什么。
这就是 HTTP传输所面临的问题之一:中间人攻击,指消息传递的过程中,处在传递路径上的攻击者可以嗅探或者窃听传输数据的内容。
HTTPS
HTTPS针对这个问题,采用了“加密”的方式来解决。最著名原始的加密方法就是对称加密算法了,就是双方约定一个暗号,用什么字母替换什么字母之类的。现在一般采用一种叫 AES(高级加密算法)的对称算法。
对称加密算法既指加密和解密需要使用的密钥 key是一样的。
AES在数学上保证了,只要你使用的 key足够长,破解几乎是不可能的(除非光子计算机造出来了)
我们先假设在没有密钥 key的情况下,密文是无法被破解的,然后再回到这个教室。你将用 AES加密后的内容噌噌噌地写在了纸条上,正要传出去的时候你突然想到,TA没有 key怎么解密内容呀,或者说,应该怎么把 key给TA?
如果把 key也写在纸条上,那么中间人照样可以破解窃听纸条内容。也许在现实环境中你有其他办法可以把 key通过某种安全的渠道送到 TA的手里,但是互联网上的实现难度就比较大了,毕竟不管怎样,数据都要经过那些路由。
于是聪明的人类发明了另一种加密算法——非对称加密算法。这种加密算法会生成两个密钥(key1和 key2)。凡是 key1加密的数据,key1自身不能解密,需要 key2才能解密;凡事 key2加密的数据,key2自身不能解密,只有 key1才能解密。
目前这种算法有很多中,最常用的是 RSA。其基于的数学原理是:
两个大素数的乘积很容易算,但是用这个乘积去算出是哪两个素数相乘就很复杂了。好在以目前的技术,分解大数的素因确实比较困难,尤其是当这个大数足够大的时候(通常使用2的10次方个二进制位那么大),就算是超级计算机,解密也需要非常长的时间。
现在就把这种非对称加密的方法应用在我们教室传纸条的场景里。
你在写纸条内容之前先用 RSA技术生成了一对密钥 k1和 k2。
你把 k1用明文传了出去,路经也许有人会截取,但是没有用,k1加密的数据需要 k2才可以破解,而 k2在你自己手中。
k1传到了目的人,目的人会去准备一个接下来准备用于对称加密(AES)的传输密钥 key,然后用收到的 k1把 key加密,传给你。
你用手上的 k2解出 key后,全教室只有你和你的目的人拥有这个对称加密的 key,你们俩就可以尽情聊天不怕窃听啦~
这里也许你会有问题,为什么不直接用非对称加密来加密信息,而是加密 AES的 key呢?因为非对称加密和解密的平均消耗时间比较长,为了节省时间提高效率,我们通常只是用它来交换密钥,而非直接传输数据。
然而使用非对称加密真的可以防范中间人攻击吗?虽然看上去很安全,但是实际上却挡不住可恶的中间人攻击。
假设你是 A,你的目的地是 B,现在要途径一个恶意同学M。中间人的恶意之处在于它会伪装成你的目标。
当你要和 B完成第一次密钥交换的时候,M把纸条扣了下来,假装自己是B并伪造了一个 key,然后用你发来的 k1加密了 key发还给你。
你以为你和 B完成了密钥交换,实际上你是和 M完成了密钥交换。
同事 M和 B完成一次密钥交换,让 B以为和 A你完成了密钥交换。
现在整体的加密流程变成了A(加密链接1)->M(明文)->B(加密链接2)的情况了,这时候 M依然可以知道A和B传输的全部消息。
这个时候就是体现 HTTPS和传纸条的区别了。在教室里,你是和一位与你身份几乎对等的的对象来通信;而在访问网站时,对方往往是一个比较大(或者知名)的服务者,他们有充沛的资源,或许他们可以向你证明他们的合法性。
此时我们需要引入一个非常权威的第三方,一个专门用来认证网站合法性的组织,可以叫做 CA(Certificate Authority)。各个网站服务商可以向 CA申请证书,使得他们在建立安全连接时可以带上 CA的签名。而 CA得安全性是由操作系统或者浏览器来认证的。
你的 Windows、Mac、Linux、Chrome、Safari等会在安装的时候带上一个他们认为安全的 CA证书列表,只有和你建立安全连接的网站带有这些CA的签名,操作系统和浏览器才会认为这个链接是安全的,否则就有可能遭到中间人攻击。
一旦某个 CA颁发的证书被用于的非法途径,那么这个 CA之前颁发过的所有证书都将被视为不安全的,这让所有 CA在颁发证书时都十分小心,所以 CA证书在通常情况下是值得信任的。
正如声网agora.io Web SDK考虑数据安全问题,限制了http访问getUserMedia接口,只能通过https方式访问。所以会出现用http在Chrome浏览器(47以上版本)中访问Agora服务失败,我该怎么办?
Agora Web解决方案基于WebRTC技术建立浏览器间的音视频通信,在WebRTC协议中,浏览器通过getUserMedia接口获取视频(通过摄像头)和音频(通过麦克风)数据,Google Chrome是支持WebRTC的主流浏览器之一,在v47及以上版本,考虑到数据安全问题,限制了http访问getUserMedia接口,只能通过https方式访问。除了chrome浏览器外,Opera浏览器在v34版本后也跟进了对http的限制,Firefox暂时没有此更新。但是考虑到https是WebRTC协议推荐的安全访问方式,建议客户统一通过https来访问Agora Web服务,也能兼容各浏览器平台。