1. Web框架與服務(wù)器區(qū)別
? web服務(wù)器:典型Web服務(wù)器Apache、Nginx、Tomcat,作用是接受客戶端(瀏覽器)發(fā)送的請(qǐng)求,做相應(yīng)處理后返回給客戶端。簡(jiǎn)單來(lái)說(shuō)就是與客戶端通信用的。
它有幾個(gè)作用:
緩存機(jī)制:將一些經(jīng)常被訪問(wèn)的頁(yè)面緩存起來(lái),提高響應(yīng)速度;
安全:防止黑客的攻擊,比如SYN Flood攻擊;
并發(fā)處理:如何響應(yīng)不同客戶端同時(shí)發(fā)起的請(qǐng)求;
日志:記錄訪問(wèn)日志,方便做一些分析;
web應(yīng)用服務(wù)器:應(yīng)用程序可以用各種語(yǔ)言編寫(Java、PHP、Python等),這個(gè)應(yīng)用程序會(huì)從上面的應(yīng)用服務(wù)器(如Apache)接受客戶端請(qǐng)求,處理完成后,再返回給web服務(wù)器。
web框架:如Django包含各種方便調(diào)用的庫(kù),如連接數(shù)據(jù)庫(kù),渲染頁(yè)面等(MVC)。
web服務(wù)器網(wǎng)關(guān)接口:對(duì)齊web框架和web服務(wù)器標(biāo)準(zhǔn)的中間件,如Python的是WSGI(Web Server Gateway Interface),Java的是(Servlet API)解耦web服務(wù)器和web框架。
參考文章 <https://blog.csdn.net/qq_37860930/article/details/86518730
2.Tomcat和Apache區(qū)別
Apache支持靜態(tài)頁(yè),tomcat支持動(dòng)態(tài)頁(yè),比如servlet。雖然兩者都可以作為web服務(wù)器運(yùn)行,但Apache是web服務(wù)器,而Tomcat偏向于應(yīng)用服務(wù)器,主要解析JSP/Servlet側(cè)重于Servlet引擎。tomcat雖然也支持靜態(tài)頁(yè),但效率沒(méi)有Apache高。可以使用Apache+Tomcat,各自負(fù)責(zé)擅長(zhǎng)領(lǐng)域。
參考文章:https://blog.csdn.net/sinat_29048381/article/details/88310107
參考文章:https://cloud.tencent.com/developer/article/1343865
3.Apache和Nginx
兩者最核心區(qū)別在于apcha是同步多進(jìn)程模型,一個(gè)連接對(duì)應(yīng)一個(gè)進(jìn)程,Nginx是異步的多連接對(duì)應(yīng)一個(gè)進(jìn)程。一般來(lái)說(shuō)需要性能的web服務(wù),需要nginx。如不需要性能而是更注重穩(wěn)定則選用apache。
一般方案是前端nginx抗并發(fā),后端apache集群,配合會(huì)更好。