總的來看Java在技術方面遠超過PHP,不考慮成本問題(大公司應該承受的起),為什麼百度首頁不用JSP寫?及時搜尋不需要分佈式麼?而且在輸入的時候會自動載入一些結果什麼的。
回覆內容:
能把這本書發出來嗎?
我要把這個出版社拉黑。
瀉藥。
首先我們來看看百度首頁是不是真的用的是php,http://www.baidu,com/index.php無疑是可以打開的,但是我們也知道,可以透過對HTTP服務軟體層面進行路由設置,使得這個位址實際解析到其他內容,例如靜態檔案或是其他CGI處理的資源,例如偽靜態的實作是將html路由到其他動態資源,例如php(考慮到快取,也有可能是靜態資源),所以單憑這個無法確定是否是php。
於是用chrome打開百度,
我們需要看的信息是紅色框框出來的內容,首先我們看到Sever的值被設置成了bfe/1.0.8.14,http頭中的server字段一般是http伺服器的名稱,例如知乎:
Qnginx,猜測可能是魔改Nginx吧。百度的bfe,要嘛是自家產品,要嘛有可能也是改動了nginx之類的源碼,這個參見百度首頁用的什麼伺服器?
那我們再看setcookie裡面,設定的cookie內容。我們知道,一般php自身設定的cookie會有類似下面這樣的字段:
然而我們看看百度的:
有很多以百度命名的Token字段,沒有採用php自帶的cookie,也看起來不像很多語言/框架自備的cookie,後文會講。
我們再看在百度首頁的請求中有一個字段:
HPHP,這是HHVM,如果不是百度使用代
理或者在HTTP伺服器層面上修改頭或者修改HHVM(百度應該也不會這麼閒的蛋痛去改一個不是機密的東西),那應該就是用PHP了。那我們就解釋一下為什麼不用預設的(預設的cookie會出現PHPSESSID的欄位)
session_start()
facebook還是PHp寫的呢,新浪微博和騰訊網也是。知乎還是用Python呢
不談題主貼的資料準確與否
百度首頁的PHP只是做結果渲染,搜尋引擎本身應該不是基於PHP的
我勒個擦。 。
身為一個百度員工,半夜看到這個問題,瞬間精神了。 。
一個是笑的,一個是內心深處忍不住深深的吐槽之情。 。
你是學生吧?還是說沒有接觸過超大型的專案。你有機會去大公司,接觸一下,就明白這個問題真的好蠢。 。
最近公司很招黑,我還是匿名吧,懶得跟人吵架。
首先,php是可以做頁面渲染的,但是你但凡搞過框架就應該知道,這個url請求會經過分發,分發到哪裡就有很大的自主操作空間了。
首先,中間分發這個肯定不是你想像中的那麼簡單,每天上億次請求,肯定會有各種cache,全國各地集群分佈,等等。
況且,為了加快首頁載入速度,肯定是要改成C優化的。
然後,你輸入的時候,就分發到了對應的檢索叢集上。
這個的程式碼是C++,為什麼?因為我親自改過。 。
這裡又分成很多模組。 。
舉個例子,一個單字從你輸入到搜尋框,到最後取出數據,中間的過程,說簡單的確很簡單。 。
就是爬蟲抓取數據,然後根據這些數據建立索引嘛。
問題是,每個細節做到最好,這複雜度就很高了。
分詞的話,你如何能夠更準確?直接用個開源函式庫?開玩笑呢你?就這個最好就要一個專業的團隊去負責,還是偏研究性的,得招一堆博士,研究生去搞。
好了,分好詞了,我們要取索引了。
如何在毫秒內,在千億的結果中,找到對應的數據?
然後給他們排序,回傳使用者想要的結果?聽起來是不是很複雜?
其實,這個說起來也不麻煩,倒排拉鍊嘛,然後做好cache,其實百分之九十的搜尋都是百分之十的單字。
不過資料量有點大,所以這個索引可能全部放不到內存,部分放到硬碟上唄,問題是硬碟上速度慢,我們可否做點優化?
然後如何選擇最適合的給使用者?這個策略上又有不少優化點,做好了又得一批人。
這還只是檢索。
爬蟲那一塊,我們每天爬下來的資料超出一般人的想像,如何有效率的爬,好提供給檢索端更可靠的資料。
這個又是一堆人搞。
但是問題又來了,你發現資料量太大了,這資料怎麼存?怎麼更好的管理?
這不都是要花大量的人力去搞。 。
哦,還有鳳巢,這天天被你們黑的。
因為關係到錢,也是投入了大量的人力去做各種各樣的策略,數據優化。
所以,看到你這個問題。 。 。 。
真的是覺得,什麼鬼,去接觸下一個超大等級的專案。
你會發現,基本上都是在某個時刻就有一個最適應的語言,那就去用就好了。
百度一開始就幾個人,用戶有幾十萬就不錯了,趕緊上個網站有的用就可以了,還考慮啥效率。後端索引,一開始沒有hadoop的時候,機器維護老有問題,那就派幾個人天天手工維護嗆。
然後,後期發現php不好用了,就想想優化唄。
反正業務坐上去了,也有錢了,請一堆牛人使勁折騰,肯定能想出辦法。
當然,搜尋引擎從技術方面的確還是很有門檻的,現在各種框架,雲端運算成熟了,好做了很多,當年做起來的確還是有很大的技術壁壘的。
至少比搭網站難度高上幾十倍。
但語言絕對不是最大的問題。 。
你會發現,你竟然還在這裡糾結語言,是不是很蠢?
php提供的資料庫介面不統一。 。 。 。 。 。多少年前的事了。 。 。 pdo一出就早解決了。題主截取的很多觀點都是比較片面和老舊了,現在的PHP綜合來說已經是WEB業務的霸主了,jsp在大型業務雖然有優勢,但是總體來說php在很多方面已經能和它平分秋色。還有。 。 。是誰告訴你百度的搜尋引擎是PHP了。 。 。
首頁就是一層皮,用什麼寫都差距不大。搜尋當然是分散式的,但是都是以服務方式提供,和首頁也沒有什麼關係。至於自動載入些結果什麼的,也是js發個請求,後台也是服務方式提供的。至於後台的服務,不知道百度具體是怎麼實現的,有各種語言和方案可以選擇,選個合適自己的就好。搜尋的確有很多方案是基於java實現的,但是不表示離了java就搞不了。 php和jsp也不是什麼升級替代關係,只能說各有所長,php之所以顯得弱雞,只是國內寫php的人大部分弱雞。即使facebook切到hhvm之前的php,也能輕鬆支撐每天10億+請求,用的伺服器也不是特別多。沒有具體數據,但有人推測fb當時的php單機qps在3000-5000左右,並不比jsp單機有數量級差距。我任職某司php單機峰值在700qps左右,主要是程式碼寫的混亂,效能太差。而淘寶的分享說明,某些php業務集群裡的單機qps只有200-300。這只能說明是人的問題。最後建議多看看架構方面的文章,這類問題的答案自然蘊含其中。
你認為百度搜尋引擎就一個首頁麼
PHP是世界上最美麗的語言
天啊~
以上就是既然JSP適合做大型網站,為什麼百度首頁還是PHP寫的?的內容,更多相關內容請關注PHP中文網(www.php.cn)!

jsp属于后端。jsp的本质是一种servlet,而servlet又是服务器端的java应用程序,所以jsp是属于后端的技术。JSP部署于网络服务器上,可响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java作为脚本语言,为用户HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

新建好springboot项目以后目录如下:第一步:在项目的pom文件中加入配置jsp所需要的jar包代码:org.apache.tomcat.embedtomcat-embed-jasperprovided第二步:在main路径下新建目录webapp,在webapp下新建路径WEB-INF,在WEB-INF下新建路径jsp,在这个路径下放置我们要使用的jsp文件第三步:在主配置文件中配置jsp文件的访问路径和后缀代码:spring.mvc.view.prefix=/WEB-INF/jsp/sp

实现步骤:1、在JSP页面中引入JSTL标签库;2、从数据库中获取数据;3、对数据进行分页处理;4、在页面中显示分页导航条;5、根据当前页码和每页显示数量,从分页后的数据中获取对应的数据并显示在页面上即可。

jsp和html区别:1、运行机制;2、用途;3、与Java的关系;4、功能;5、与后端的关系;6、速度;7、可维护性和扩展性;8、学习和使用的难易程度;9、文件后缀和识别工具;10、社区和支持;11、安全性。详细介绍:1、运行机制,HTML是一种标记语言,主要用于描述和定义网页的内容,它运行在客户端,由浏览器解释执行,JSP是一种动态网页技术,运行在服务器端等等。

一、实现分页查询的核心sql语句(1)查询数据库的记录总数的sql语句:selectcount(*)from+(表名);(2)每次查询的记录数的sql语句:其中:0是搜索的索引,2是每次查找的条数。select*from表名limit0,2;二、代码实现*上篇写过这两个类,DBconnection类:用于获取数据库连接,Author对象类。这两个类的代码点击连接查看。点击链接查看DBconnection类和Author对象类(1)登录页面:index.jsp。Inserttitlehere用户列

JSP是一种动态网页技术标准,其文件格式是在传统的网页HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

JavaWeb开发技术栈:掌握JavaEE、Servlet、JSP、Spring等用于Web开发的技术随着互联网的迅速发展,在当今的软件开发领域,Web应用的开发已经成为一种非常重要的技术需求。而Java作为一种广泛应用的编程语言,其在Web开发领域也有着重要的地位。JavaWeb开发技术栈涉及多项技术,如JavaEE、Servlet、JSP、Spr

jsp中iframe是一种用于嵌入其他网页或文档的HTML标签,可以实现页面的分割、动态加载、异步加载和跨域访问等功能。它为开发人员提供了更多的灵活性和交互性,可以提高网页的可用性和用户体验。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!