linux視頻-教程專用隨堂教案web service_第1頁
linux視頻-教程專用隨堂教案web service_第2頁
linux視頻-教程專用隨堂教案web service_第3頁
linux視頻-教程專用隨堂教案web service_第4頁
linux視頻-教程專用隨堂教案web service_第5頁
已閱讀5頁,還剩151頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

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)用層表示層會話層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層應(yīng)用層IPv4,IPv6設(shè)備驅(qū)動程

序和硬件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:相對:30絕對:402dfjdksfdsafdsafds\njfdkafjdksal;fdksalfdsd\n物理層邏輯層視圖1DMLDDL執(zhí)行引擎查詢管理器存儲管理器緩沖區(qū)管理器文件管理器授權(quán)及完整性管理器事務(wù)管理器數(shù)據(jù)文件索引數(shù)據(jù)字典統(tǒng)計數(shù)據(jù)分析器優(yōu)化器執(zhí)行計劃文件存取方法緩沖區(qū)管理器磁盤空間管理器存儲引擎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)程信號、旗語、shmUnixSock跨主機(jī)的進(jìn)程rpcsocket基本的Web服務(wù)請求步驟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報文傳輸HTTP基于TCP套接字通信HTTP事務(wù)時延串行事務(wù)處理時延提高性能并行連接持久連接并行連接示例:4個事務(wù)缺點(diǎn)每個事務(wù)都會打開/關(guān)閉一條新的連接,會耗費(fèi)時間和帶寬由于TCP的慢啟動特性的存在,每條新連接的性能都會有所降低可打開的并行連接數(shù)量實(shí)際上是有限的持久連接V.S.串行連接HTTP協(xié)議用戶識別機(jī)制承載用戶身份信息的HTTP首部客戶端IP跟蹤,通過用戶的IP地址對其進(jìn)行識別用戶登錄,用認(rèn)證的方式來識別用戶胖URL,一種在URL中嵌入識別信息的技術(shù)cookie,一種功能強(qiáng)大且高效的持久身份識別技術(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個步驟httpsssl/tlsssl:SecureSocketLayersslv3tls:TransportLayerSecuritytlsv1ODBCAPI:ApplicationProgrammingInterfacesqlDBA磁盤空間管理器緩沖管理器文件和存取接口鎖管

理器事務(wù)

管理器恢復(fù)

管理器計劃執(zhí)行器分析器優(yōu)化器操作求解器SQL語句.phpmysql-devel--with-mysqlphp-fpmLAMP查詢引擎連接管理器查詢

緩存分析

器php,htmlfastcgi,fcgihttpdphpHTTPS數(shù)字證書SSL握手交換協(xié)議版本號選擇一個兩端都了解的密碼對兩端的身份進(jìn)行認(rèn)證web應(yīng)用場景中,服務(wù)端很少對客戶端進(jìn)行認(rèn)證生成臨時的會話密鑰,以便進(jìn)行加密通信HTTP事務(wù)V.S.HTTPS事務(wù)站點(diǎn)證書有效性日期檢測簽名頒發(fā)者可信度檢測簽名檢測站點(diǎn)身份檢測回顧: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信號驅(qū)動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動作如何執(zhí)行?進(jìn)程無法直接操作I/O設(shè)備,其必須通過系統(tǒng)調(diào)用請求kernel來協(xié)助完成I/O動作內(nèi)核會為每個I/O設(shè)備維護(hù)一個buffer對于輸入而言,等待(wait)數(shù)據(jù)輸入至buffer需要時間,而從buffer復(fù)制(copy)數(shù)據(jù)至進(jìn)程也需要時間根據(jù)等待模式不同,I/O動作可分為五種模式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:引起請求進(jìn)程阻塞,直到I/O完成;AsynchronousI/O:不導(dǎo)致請求進(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ì)上是通過設(shè)置或者檢查存放fd標(biāo)志位的數(shù)據(jù)結(jié)構(gòu)來進(jìn)行下一步處理缺點(diǎn)單個進(jìn)程可監(jiān)視的fd數(shù)量被限制,即能監(jiān)聽端口的大小有限#cat/proc/sys/fs/file-max

對socket進(jìn)行掃描時是線性掃描,即采用輪詢的方法,效率較低需要維護(hù)一個用來存放大量fd的數(shù)據(jù)結(jié)構(gòu),這樣會使得用戶空間和內(nèi)核空間在傳遞該結(jié)構(gòu)時復(fù)制開銷大select/poll/epollpoll本質(zhì)上和select沒有區(qū)別,它將用戶傳入的數(shù)組拷貝到內(nèi)核空間,然后查詢每個fd對應(yīng)的設(shè)備狀態(tài)其沒有最大連接數(shù)的限制,原因是它是基于鏈表來存儲的,但是同樣有一個缺點(diǎn):大量的fd的數(shù)組被整體復(fù)制于用戶態(tài)和內(nèi)核地址空間之間,而不管這樣的復(fù)制是不是有意poll還有一個特點(diǎn)是“水平觸發(fā)”,如果報告了fd后,沒有被處理,那么下次poll時會再次報告該fdselect/poll/epollepoll支持水平觸發(fā)和邊緣觸發(fā),最大的特點(diǎn)在于邊緣觸發(fā),它只告訴進(jìn)程哪些fd剛剛變?yōu)榫托钁B(tài),并且只會通知一次使用“事件”的就緒通知方式,通過epoll_ctl注冊fd,一旦該fd就緒,內(nèi)核就會采用類似callback的回調(diào)機(jī)制來激活該fd,epoll_wait便可以收到通知優(yōu)點(diǎn):沒有最大并發(fā)連接的限制:能打開的FD的上限遠(yuǎn)大于1024(1G的內(nèi)存上能監(jiān)聽約10萬個端口)效率提升:非輪詢的方式,不會隨著FD數(shù)目的增加而效率下降;只有活躍可用的FD才會調(diào)用callback函數(shù),即epoll最大的優(yōu)點(diǎn)就在于它只管理“活躍”的連接,而跟連接總數(shù)無關(guān)

內(nèi)存拷貝,利用mmap()文件映射內(nèi)存加速與內(nèi)核空間的消息傳遞;即epoll使用mmap減少復(fù)制開銷I/O復(fù)用服務(wù)器進(jìn)程需要一種預(yù)先告知能力,使得內(nèi)核一旦發(fā)現(xiàn)進(jìn)程指定的一個或多個I/O條件就緒,它就通知進(jìn)程。這個能力就稱作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一個進(jìn)程響應(yīng)多個請求請求:狀態(tài)監(jiān)控狀態(tài)基于事件event多個進(jìn)程響應(yīng)N個請求web程序:編程語言,代碼腳本語言適用于web應(yīng)用程序開發(fā)的語言或語言框架支持編譯功能的腳本型語言,編譯成中間代碼jsp(javabytecode),php(zendengine,opcode)編譯語言效率高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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論