版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
WebService之
http基礎(chǔ)原理主講:馬永亮(馬哥)
客服,1661815153
WebService之
httpd基本應(yīng)用主講:馬永亮(馬哥)
客服,1661815153
WebService之
httpd2.4新特性主講:馬永亮(馬哥)
客服,1661815153
WebService之
lamp入門主講:馬永亮(馬哥)
客服,1661815153
MariaDB基礎(chǔ)應(yīng)用主講:馬永亮(馬哥)
客服,1661815153
MariaDB基礎(chǔ)應(yīng)用主講:馬永亮(馬哥)
客服,1661815153
C/S應(yīng)用層表示層會(huì)話層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層應(yīng)用層IPv4,IPv6設(shè)備驅(qū)動(dòng)程
序和硬件tcpudp套接字用戶進(jìn)程內(nèi)核應(yīng)用層細(xì)節(jié)通信
細(xì)節(jié)xml,json80/tcp內(nèi)核內(nèi)核發(fā)送緩沖發(fā)送緩沖接收緩沖接收緩沖C10kerrorpages404,proxy,proxy-fcgihttpd-2.4:mpmmoduleprefork:libphp5.soworker,event:libphp5-zts.socgifastcgi
DocumentRoot“/var/www/html”fcgi://:9000/pma/index.phphttpda.phpCGI:CommonGatewayInterfaceindex.htmllogo.gifbinner.jpga.cssb.css70:相對(duì):30絕對(duì):402dfjdksfdsafdsafds\njfdkafjdksal;fdksalfdsd\n物理層邏輯層視圖1DMLDDL執(zhí)行引擎查詢管理器存儲(chǔ)管理器緩沖區(qū)管理器文件管理器授權(quán)及完整性管理器事務(wù)管理器數(shù)據(jù)文件索引數(shù)據(jù)字典統(tǒng)計(jì)數(shù)據(jù)分析器優(yōu)化器執(zhí)行計(jì)劃文件存取方法緩沖區(qū)管理器磁盤空間管理器存儲(chǔ)引擎root@172.16.%.%/etc/php.ini,/etc/php.d/*.iniLNMP,跨Internet的主機(jī)間通訊客戶端
應(yīng)用程序使用TCP/IP
的主機(jī)服務(wù)器端
應(yīng)用程序使用TCP/IP
的主機(jī)routerrouterrouterrouterrouterrouterLANLANWANDNS基本TCP客戶/服務(wù)器程序的套接字函數(shù)CLOSEDLISTENSYN_SENTSYN_RECVESTABLISHEDFIN_WAIT1FIN_WAIT1FIN_WAIT2TIME_WAITCLOSE_WAITLAST_ACKCLOSED阻塞模式多進(jìn)程或多線程套接字監(jiān)聽的套按字已連接套接字Client1Client2ServerServer子進(jìn)程1Server子進(jìn)程2已連接套接字已連接套接字監(jiān)聽套接字IPCInterProcessCommunication同一主機(jī)進(jìn)程信號(hào)、旗語(yǔ)、shmUnixSock跨主機(jī)的進(jìn)程rpcsocket基本的Web服務(wù)請(qǐng)求步驟threadtask_struct:任務(wù)結(jié)構(gòu)2560*86400Docroot:/var/www/html//var/www/html/images/logo.gif
index.htmlI/O工作模型c,php,
bash1000800:靜態(tài)200:bash進(jìn)程ip:port:80host:http報(bào)文傳輸HTTP基于TCP套接字通信HTTP事務(wù)時(shí)延串行事務(wù)處理時(shí)延提高性能并行連接持久連接并行連接示例:4個(gè)事務(wù)缺點(diǎn)每個(gè)事務(wù)都會(huì)打開/關(guān)閉一條新的連接,會(huì)耗費(fèi)時(shí)間和帶寬由于TCP的慢啟動(dòng)特性的存在,每條新連接的性能都會(huì)有所降低可打開的并行連接數(shù)量實(shí)際上是有限的持久連接V.S.串行連接HTTP協(xié)議用戶識(shí)別機(jī)制承載用戶身份信息的HTTP首部客戶端IP跟蹤,通過(guò)用戶的IP地址對(duì)其進(jìn)行識(shí)別用戶登錄,用認(rèn)證的方式來(lái)識(shí)別用戶胖URL,一種在URL中嵌入識(shí)別信息的技術(shù)cookie,一種功能強(qiáng)大且高效的持久身份識(shí)別技術(shù)用于承載用戶信息的HTTP首部cookie的工作示例HTTP事務(wù)request<method><request-URL><version>Name:ValueName:Value<entity-body>response<version><status><reason>Name:ValueName:Value<entity-body>HTTP認(rèn)證認(rèn)證的4個(gè)步驟httpsssl/tlsssl:SecureSocketLayersslv3tls:TransportLayerSecuritytlsv1ODBCAPI:ApplicationProgrammingInterfacesqlDBA磁盤空間管理器緩沖管理器文件和存取接口鎖管
理器事務(wù)
管理器恢復(fù)
管理器計(jì)劃執(zhí)行器分析器優(yōu)化器操作求解器SQL語(yǔ)句.phpmysql-devel--with-mysqlphp-fpmLAMP查詢引擎連接管理器查詢
緩存分析
器php,htmlfastcgi,fcgihttpdphpHTTPS數(shù)字證書SSL握手交換協(xié)議版本號(hào)選擇一個(gè)兩端都了解的密碼對(duì)兩端的身份進(jìn)行認(rèn)證web應(yīng)用場(chǎng)景中,服務(wù)端很少對(duì)客戶端進(jìn)行認(rèn)證生成臨時(shí)的會(huì)話密鑰,以便進(jìn)行加密通信HTTP事務(wù)V.S.HTTPS事務(wù)站點(diǎn)證書有效性日期檢測(cè)簽名頒發(fā)者可信度檢測(cè)簽名檢測(cè)站點(diǎn)身份檢測(cè)回顧:CGI、用戶認(rèn)證、虛擬主機(jī)、https、server-status100,1000010000,100http,socket,tcpdomainunix:文件路徑ipv4:ipv4:portipv6:ipv6:port阻塞I/O系統(tǒng)調(diào)用準(zhǔn)備數(shù)據(jù)數(shù)據(jù)準(zhǔn)備完成復(fù)制復(fù)制完成返回調(diào)用成功處理數(shù)據(jù)recvfrom進(jìn)程被阻塞于recvfrom非阻塞I/O系統(tǒng)調(diào)用準(zhǔn)備數(shù)據(jù)數(shù)據(jù)準(zhǔn)備完成復(fù)制復(fù)制完成返回調(diào)用成功處理數(shù)據(jù)非阻塞阻塞recvfromI/O復(fù)用系統(tǒng)調(diào)用準(zhǔn)備數(shù)據(jù)數(shù)據(jù)準(zhǔn)備完成復(fù)制復(fù)制完成返回調(diào)用成功處理數(shù)據(jù)阻塞阻塞select/pollrecvfrom信號(hào)驅(qū)動(dòng)I/O系統(tǒng)調(diào)用準(zhǔn)備數(shù)據(jù)數(shù)據(jù)準(zhǔn)備完成復(fù)制復(fù)制完成返回調(diào)用成功處理數(shù)據(jù)非阻塞阻塞SIGIO
sigactionrecvfrom異步I/O系統(tǒng)調(diào)用準(zhǔn)備數(shù)據(jù)數(shù)據(jù)準(zhǔn)備完成復(fù)制復(fù)制完成返回調(diào)用成功處理數(shù)據(jù)非阻塞aio_readI/O動(dòng)作如何執(zhí)行?進(jìn)程無(wú)法直接操作I/O設(shè)備,其必須通過(guò)系統(tǒng)調(diào)用請(qǐng)求kernel來(lái)協(xié)助完成I/O動(dòng)作內(nèi)核會(huì)為每個(gè)I/O設(shè)備維護(hù)一個(gè)buffer對(duì)于輸入而言,等待(wait)數(shù)據(jù)輸入至buffer需要時(shí)間,而從buffer復(fù)制(copy)數(shù)據(jù)至進(jìn)程也需要時(shí)間根據(jù)等待模式不同,I/O動(dòng)作可分為五種模式FiveI/OModelsblockingI/O:blockedallthewaynonblockingI/O:ifnodatainbuffer,immediatereturnsEWOULDBLOCKI/Omultiplexing(selectandpoll):blockedseparatelyinwaitandcopysignaldrivenI/O(SIGIO):nonblockedinwaitbutblockedincopy(signaledwhenI/Ocanbeinitiated)asynchronousI/O(aio_):nonblockedalltheway(signaledwhenI/Oiscomplete)同步I/O和異步I/OSynchronousI/O:引起請(qǐng)求進(jìn)程阻塞,直到I/O完成;AsynchronousI/O:不導(dǎo)致請(qǐng)求進(jìn)程阻塞;ComparisonofFiveI/OModelsBlockingversusMultiplexingIfwewanttoreadfrommultipledevices,wearenotabletodoitproperlywiththeread()system-callIfonedevicehasnodata,ourtaskwillbeblocked,andsocan’treaddatathatmayeavailablefromsomeotherdeviceIdea:use‘nonblocking’i/oWhenwe‘open()’adevice-file,wecouldspecifythe‘O_NONBLOCK’i/omodeForthekeyboard:twoproblemswiththis:The‘stdin’deviceisalreadyopenbydefaultIfatasktriestodomultiplexingwithdevicesthathavebeenopenedinnon-blockingmode,itwilllikelyconsumewaytoomuchcputime!Betteridea:use‘select()’The‘select()’system-callwasdesignedtoallowapplicationstoefficientlyperformi/omultiplexingWith‘select()’theapplicationinformsthekernelastowhichsystemdevicesitisinterestedinThekernelthen‘polls’thosedevices,toseeifanyofthemisreadytodoi/owithoutblockingIfnot,itputstheprocesstosleepuntilatleastonedeviceisreadytodoi/owithoutblockingselect/poll/epollselect本質(zhì)上是通過(guò)設(shè)置或者檢查存放fd標(biāo)志位的數(shù)據(jù)結(jié)構(gòu)來(lái)進(jìn)行下一步處理缺點(diǎn)單個(gè)進(jìn)程可監(jiān)視的fd數(shù)量被限制,即能監(jiān)聽端口的大小有限#cat/proc/sys/fs/file-max
對(duì)socket進(jìn)行掃描時(shí)是線性掃描,即采用輪詢的方法,效率較低需要維護(hù)一個(gè)用來(lái)存放大量fd的數(shù)據(jù)結(jié)構(gòu),這樣會(huì)使得用戶空間和內(nèi)核空間在傳遞該結(jié)構(gòu)時(shí)復(fù)制開銷大select/poll/epollpoll本質(zhì)上和select沒(méi)有區(qū)別,它將用戶傳入的數(shù)組拷貝到內(nèi)核空間,然后查詢每個(gè)fd對(duì)應(yīng)的設(shè)備狀態(tài)其沒(méi)有最大連接數(shù)的限制,原因是它是基于鏈表來(lái)存儲(chǔ)的,但是同樣有一個(gè)缺點(diǎn):大量的fd的數(shù)組被整體復(fù)制于用戶態(tài)和內(nèi)核地址空間之間,而不管這樣的復(fù)制是不是有意poll還有一個(gè)特點(diǎn)是“水平觸發(fā)”,如果報(bào)告了fd后,沒(méi)有被處理,那么下次poll時(shí)會(huì)再次報(bào)告該fdselect/poll/epollepoll支持水平觸發(fā)和邊緣觸發(fā),最大的特點(diǎn)在于邊緣觸發(fā),它只告訴進(jìn)程哪些fd剛剛變?yōu)榫托钁B(tài),并且只會(huì)通知一次使用“事件”的就緒通知方式,通過(guò)epoll_ctl注冊(cè)fd,一旦該fd就緒,內(nèi)核就會(huì)采用類似callback的回調(diào)機(jī)制來(lái)激活該fd,epoll_wait便可以收到通知優(yōu)點(diǎn):沒(méi)有最大并發(fā)連接的限制:能打開的FD的上限遠(yuǎn)大于1024(1G的內(nèi)存上能監(jiān)聽約10萬(wàn)個(gè)端口)效率提升:非輪詢的方式,不會(huì)隨著FD數(shù)目的增加而效率下降;只有活躍可用的FD才會(huì)調(diào)用callback函數(shù),即epoll最大的優(yōu)點(diǎn)就在于它只管理“活躍”的連接,而跟連接總數(shù)無(wú)關(guān)
內(nèi)存拷貝,利用mmap()文件映射內(nèi)存加速與內(nèi)核空間的消息傳遞;即epoll使用mmap減少?gòu)?fù)制開銷I/O復(fù)用服務(wù)器進(jìn)程需要一種預(yù)先告知能力,使得內(nèi)核一旦發(fā)現(xiàn)進(jìn)程指定的一個(gè)或多個(gè)I/O條件就緒,它就通知進(jìn)程。這個(gè)能力就稱作I/O復(fù)用。起始行request<method><url><version>response<version><statuscode><reason_phrase>httpheaders空白行<body>mpm_winnt,MPMMethodGETPOSTHEADPUTDELETEOPTIONSTRACECONNECTIONWeb服務(wù)器的工作模型單進(jìn)程/單線程多進(jìn)程/多線程prefork,workermaxclientsprefork:256worker:150一個(gè)進(jìn)程響應(yīng)多個(gè)請(qǐng)求請(qǐng)求:狀態(tài)監(jiān)控狀態(tài)基于事件event多個(gè)進(jìn)程響應(yīng)N個(gè)請(qǐng)求web程序:編程語(yǔ)言,代碼腳本語(yǔ)言適用于web應(yīng)用程序開發(fā)的語(yǔ)言或語(yǔ)言框架支持編譯功能的腳本型語(yǔ)言,編譯成中間代碼jsp(javabytecode),php(zendengine,opcode)編譯語(yǔ)言效率高h(yuǎn)tpasswdhtpasswd[-c][-m][-D]passwdfileusernamehtpasswdisusedtocreateandupdatetheflat-filesusedtostoreusernamesandpasswordforbasicauthenticationofHTTPusers-cCreatethepasswdfileIfpasswdfilealreadyexists,itisrewrittenandtruncated-mUseMD5encryptionforpasswords-DDeleteuserWebServerManyWebSitesPortIPFQDN<VirtualHostHOST>DocumentRoot“/path/to/site”ServerName</VirtualHost>.htaccessfiles(or"distributedconfigurationfiles")provideawaytomakeconfigurationchangesonaper-directorybasis.Afile,containingoneormoreconfigurationdirectives,isplacedinaparticulardocumentdirectory,andthedirectivesapplytothatdirectory,andallsubdirectoriesthereof.AuthTypeselectsthatmethodthatisusedtoauthenticatetheuserThemostcommonmethodisBasic,andthisisthemethodimplementedbymod_auth_basicTheBasicauthenticationsendsthepasswordfromtheclienttotheserverunencryptedAuthNamesetstheRealmtobeusedintheauthenticationTherealmservestwomajorfunctionsFirst,theclientoftenpresentsthisinformationtotheuseraspartofthepassworddialogbox.Second,itisusedbytheclienttodeterminewhatpasswordtosendforagivenauthenticatedarea.AuthUserFileSetsthepathtothepasswordfilethatcreatedwithhtpasswd.Ifyouhavealargenumberofusers,itcanbequiteslowtosearchthroughaplaintextfiletoauthenticatetheuseroneachrequestApachealsohastheabilitytostoreuserinformationinfastdatabasefilesThemod_authn_dbmmoduleprovidestheAuthDBMUserFiledirectiveThesefilescanbecreatedandmanipulatedwiththedbmmanageprogram.RequireProvidestheauthorizationpartoftheprocessbysettingtheuserthatisallowedtoaccessthisregionoftheserver.ThesuEXECfeatureprovidesApacheuserstheabilitytorunCGIandSSIprogramsunderuserIDsdifferentfromtheuserIDofthecallingwebserver.Usedproperly,thisfeaturecanreduceconsiderablythesecurityrisksinvolvedwithallowinguserstodevelopandrunprivateCGIorSSIprograms.OptionsAllAlloptionsexceptforMultiViews.Thisisthedefaultsetting.ExecCGIExecutionofCGIscriptsusingmod_cgiispermitted.FollowSymLinksTheserverwillfollowsymboliclinksinthisdirectory.IncludesServer-sideincludesprovidedbymod_includearepermitted.IncludesNOEXECServer-sideincludesarepermitted,butthe#execcmdand#execcgiaredisabled.Itisstillpossibleto#includevirtualCGIscriptsfromScriptAliaseddirectories.IndexesIfaURLwhichmapstoadirectoryisrequested,andthereisnoDirectoryIndex(e.g.,index.html)inthatdirectory,thenmod_autoindexwillreturnaformattedlistingofthedirectory.MultiViewsContentnegotiated"MultiViews"areallowedusingmod_negotiation.SymLinksIfOwnerMatchTheserverwillonlyfollowsymboliclinksforwhichthetargetfileordirectoryisownedbythesameuseridasthelink.ApacheAccessConfigurationApacheprovidesdirectory-andfile-levelhost-basedaccesscontrolHostspecificationsmayincludedotnotationnumerics,network/netmask,anddotnotationhostnamesanddomainsTheorderstatementprovicecontrolover“order”,butnotalwaysinthewayonemightexpectorderallow,deny--allowexplicitlyallowedclients,denieseveryoneelse;clientsmatchedbybothallowanddenyaredeniedFlatFileAuthentication<Directory/var/
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年魯教版選修3地理上冊(cè)階段測(cè)試試卷
- 2025年人教B版高二物理上冊(cè)階段測(cè)試試卷
- 2025年滬教版九年級(jí)科學(xué)上冊(cè)階段測(cè)試試卷
- 2025年新科版一年級(jí)語(yǔ)文上冊(cè)階段測(cè)試試卷含答案
- 2025年外研版2024九年級(jí)物理下冊(cè)階段測(cè)試試卷含答案
- 2025年湘教版八年級(jí)生物下冊(cè)階段測(cè)試試卷含答案
- 2025年教科新版七年級(jí)物理上冊(cè)月考試卷含答案
- 2025年滬教新版九年級(jí)化學(xué)上冊(cè)月考試卷含答案
- 2025年粵教版九年級(jí)地理下冊(cè)月考試卷含答案
- 2025年人教版PEP九年級(jí)生物下冊(cè)月考試卷
- 民間借貸利息計(jì)算表
- 酒店保潔服務(wù)投標(biāo)方案(技術(shù)方案)
- 《白描花卉妙筆生》 課件 2024-2025學(xué)年嶺南美版(2024) 初中美術(shù)七年級(jí)上冊(cè)
- 2025年公務(wù)員考試申論試題與參考答案
- 2024年秋季新人教PEP版三年級(jí)上冊(cè)英語(yǔ)全冊(cè)教案
- 蘇教版四年級(jí)上冊(cè)四則混合運(yùn)算練習(xí)200道及答案
- 2024耐張線夾技術(shù)規(guī)范
- 2024年中考英語(yǔ)語(yǔ)法感嘆句100題精練
- 《海洋與人類》導(dǎo)學(xué)案
- 挑戰(zhàn)杯紅色賽道計(jì)劃書
- 第十五屆全國(guó)石油和化工行業(yè)職業(yè)技能競(jìng)賽(化工總控工)考試題庫(kù)-上(單選題)
評(píng)論
0/150
提交評(píng)論