5. 瀏覽器跟蹤重定向地址
現(xiàn)在,瀏覽器知道了 “http://www.facebook.com/”才是要訪問(wèn)的正確地址,所以它會(huì)發(fā)送另一個(gè)獲取請(qǐng)求:
GET http://www.facebook.com/ HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...] Accept-Language: en-US User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...] Accept-Encoding: gzip, deflate Connection: Keep-Alive Cookie: lsd=XW[...]; c_user=21[...]; x-referer=[...] Host: www.facebook.com
頭信息以之前請(qǐng)求中的意義相同。
6. 服務(wù)器“處理”請(qǐng)求
服務(wù)器接收到獲取請(qǐng)求,然后處理并返回一個(gè)響應(yīng)。
這表面上看起來(lái)是一個(gè)順向的任務(wù),但其實(shí)這中間發(fā)生了很多有意思的東西- 就像作者博客這樣簡(jiǎn)單的網(wǎng)站,何況像facebook那樣訪問(wèn)量大的網(wǎng)站呢!
* Web 服務(wù)器軟件
web服務(wù)器軟件(像IIS和阿帕奇)接收到HTTP請(qǐng)求,然后確定執(zhí)行什么請(qǐng)求處理來(lái)處理它。請(qǐng)求處理就是一個(gè)能夠讀懂請(qǐng)求并且能生成HTML來(lái)進(jìn)行響應(yīng)的程序(像ASP.NET,PHP,RUBY…)。
舉個(gè)最簡(jiǎn)單的例子,需求處理可以以映射網(wǎng)站地址結(jié)構(gòu)的文件層次存儲(chǔ)。像http://example.com/folder1/page1.aspx這個(gè)地址會(huì)映射/httpdocs/folder1/page1.aspx這個(gè)文件。web服務(wù)器軟件可以設(shè)置成為地址人工的對(duì)應(yīng)請(qǐng)求處理,這樣 page1.aspx的發(fā)布地址就可以是http://example.com/folder1/page1。
* 請(qǐng)求處理
請(qǐng)求處理閱讀請(qǐng)求及它的參數(shù)和cookies。它會(huì)讀取也可能更新一些數(shù)據(jù),并講數(shù)據(jù)存儲(chǔ)在服務(wù)器上。然后,需求處理會(huì)生成一個(gè)HTML響應(yīng)。
所有動(dòng)態(tài)網(wǎng)站都面臨一個(gè)有意思的難點(diǎn) -如何存儲(chǔ)數(shù)據(jù)。小網(wǎng)站一半都會(huì)有一個(gè)SQL數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù),存儲(chǔ)大量數(shù)據(jù)和/或訪問(wèn)量大的網(wǎng)站不得不找一些辦法把數(shù)據(jù)庫(kù)分配到多臺(tái)機(jī)器上。解決方案 有:sharding (基于主鍵值講數(shù)據(jù)表分散到多個(gè)數(shù)據(jù)庫(kù)中),復(fù)制,利用弱語(yǔ)義一致性的簡(jiǎn)化數(shù)據(jù)庫(kù)。
委托工作給批處理是一個(gè)廉價(jià)保持?jǐn)?shù)據(jù)更新的技術(shù)。舉例來(lái)講,F(xiàn)ackbook得及時(shí)更新新聞feed,但數(shù)據(jù)支持下的“你可能認(rèn)識(shí)的人”功能只需要每晚更新 (作者猜測(cè)是這樣的,改功能如何完善不得而知)。批處理作業(yè)更新會(huì)導(dǎo)致一些不太重要的數(shù)據(jù)陳舊,但能使數(shù)據(jù)更新耕作更快更簡(jiǎn)潔。
出處:css9.net
責(zé)任編輯:bluehearts
上一頁(yè) 從輸入網(wǎng)址到顯示網(wǎng)頁(yè) [2] 下一頁(yè) 從輸入網(wǎng)址到顯示網(wǎng)頁(yè) [4]
◎進(jìn)入論壇網(wǎng)站綜合、網(wǎng)頁(yè)制作版塊參加討論
|