性能基準(zhǔn):PHP生成的內(nèi)容VS。JavaScript和DOM over AJAX
在回答這個(gè)問(wèn)題時(shí),我提出了幾點(diǎn):
。在這種情況下,您知道應(yīng)該顯示產(chǎn)品列表。應(yīng)該在頁(yè)面加載時(shí)顯示問(wèn)題答案的事實(shí)。
。例如,當(dāng)您單擊Stack Overflow上一個(gè)問(wèn)題或答案下的“評(píng)論”鏈接時(shí)。您想查看特定問(wèn)題的評(píng)論的事實(shí)在頁(yè)面加載時(shí)是未知的。
。
。例如,在禁用Javascript的情況下,Stack Overflow可以正常工作。您無(wú)權(quán)訪問(wèn)Markdown實(shí)時(shí)預(yù)覽或動(dòng)態(tài)徽標(biāo)通知,但核心功能仍然完整。
,尤其是在高延遲連接(例如蜂窩網(wǎng)絡(luò))上。請(qǐng)參閱Yahoo 的 。
您應(yīng)該將Javascript視為可能無(wú)法啟用的附加功能,而不是應(yīng)用于構(gòu)建網(wǎng)站關(guān)鍵部分的功能。此規(guī)則有例外。如果要進(jìn)行某種分頁(yè),單擊“下一頁(yè)”按鈕,而只更改產(chǎn)品列表,則AJAX可能是正確的選擇。但是,您應(yīng)該確保不使用Javascript的用戶(hù)不會(huì)被排除在查看整個(gè)列表之外。
。例如,以Friendly’sRestaurants為例。我想在購(gòu)物中心時(shí)查看他們的菜單,所以我在iPhone上加載了他們的網(wǎng)站,卻發(fā)現(xiàn)如果沒(méi)有Flash,您實(shí)際上無(wú)法獲得有關(guān)餐廳的任何有意義的信息。到處都是花哨的菜單,到處都是飛揚(yáng)的甜點(diǎn),但是最后,我只想看看菜單上的項(xiàng)目。我不能這樣做,因?yàn)樗麄冃枰狥lash。在這種情況下,服務(wù)的平穩(wěn)降級(jí)將是有幫助的。
沒(méi)有Java腳本,網(wǎng)絡(luò)上的某些事情將無(wú)法有效完成。顯示產(chǎn)品列表 不是其中之一。如果您仍然不確定,請(qǐng)查看其他熱門(mén)網(wǎng)站的工作方式。我認(rèn)為您會(huì)發(fā)現(xiàn)大多數(shù)成功且設(shè)計(jì)精良的網(wǎng)站都遵循上述指南。
解決方法對(duì)于以下非常簡(jiǎn)單的任務(wù): 從數(shù)據(jù)庫(kù)查詢(xún)產(chǎn)品列表并將其顯示在網(wǎng)頁(yè)上,請(qǐng) 考慮2種設(shè)置:
Setup1 :PHP腳本查詢(xún)。所有內(nèi)容都建立在服務(wù)器上,并且整個(gè)頁(yè)面都返回給客戶(hù)端。
Setup2:使用AJAX請(qǐng)求內(nèi)容的靜態(tài)HTML“頁(yè)面框架”。接收到的內(nèi)容使用Javascript在客戶(hù)端進(jìn)行解析,并使用innerHTML或類(lèi)似內(nèi)容呈現(xiàn)。
當(dāng)然,只有當(dāng)您有可供客戶(hù)選擇的頁(yè)面,類(lèi)別和標(biāo)簽時(shí),第二種設(shè)置才有意義。
我需要至少通過(guò)以下方式 比較 這兩個(gè):
內(nèi)容需要花費(fèi)的時(shí)間用戶(hù)體驗(yàn)(setup1整體交付,setup2分為“兩部分”交付)可擴(kuò)展性-每天有100,000個(gè)查詢(xún)時(shí),設(shè)置如何進(jìn)行比較任何對(duì)此問(wèn)題的想法將不勝感激。
相關(guān)文章:
1. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?2. 測(cè)試自動(dòng)化html元素選擇器元素ID或DataAttribute [關(guān)閉]3. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境4. spring-mvc - spring-session-redis HttpSessionListener失效5. node.js - mongodb查找子對(duì)象的名稱(chēng)為某個(gè)值的對(duì)象的方法6. javascript - QQ第三方登錄的問(wèn)題7. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!8. 淺談Vue使用Cascader級(jí)聯(lián)選擇器數(shù)據(jù)回顯中的坑9. javascript - 最近用echarts做統(tǒng)計(jì)圖時(shí)遇到兩個(gè)問(wèn)題!!10. javascript - 在 model里定義的 引用表模型時(shí),model為undefined。

網(wǎng)公網(wǎng)安備