目錄http結構
web機械人
識別,認證與安全
內容發布與分發
http (hypertext transfer protocol, 超文字傳輸協議)
一條http事物由一條請求命令和乙個響應結果組成。http報文(http message)格式化資料塊進行的。
每條http響應報文返回時都會攜帶乙個狀態碼(狀態碼時乙個三位數的**)。
http報文時由一行一行的簡單字串組成的。
http是個應用層協議,http無需操心網路通訊的具體細節,它把聯網的細節都交給了通用、可靠的網際網路傳輸協議tcp/ip。
可以通過telnet程式直接與web伺服器進行對話。
web的結構元件:
閘道器: 連線其他應用程式的特殊web伺服器。
隧道: 對http通訊報文進行盲**的特殊**。
agent**: 發起自動http請求的半智慧型web客戶端。
http**伺服器時web安全、應用整合以及效能優化的重要組成模組。(**作為**所有web流量的可信任中間節點使用)
http報文的三個部分: 起始行,首部,主體。
所有的http報文可以分為兩種: 請求報文(request message)和響應報文(response message):
http常用的方法:
狀態碼分類:
tcp慢啟動擁塞控制;
資料聚集的nagle演算法;
用於捎帶確認的tcp延遲確認演算法;
time_wait時延和埠耗盡。
http允許在客戶端和最終的源端伺服器之間存在一串http中間實體(**、快取記憶體等)。
http的connection首部欄位中有乙個由逗號分割的連線標籤列表,這些標籤為連線指定了一些不會傳播到其他連線中去的選項。
每條http響應都應該有精確的content-length首部,用以描述響應主體的尺寸。
儘管使用者agent**可能會讓操作員來選擇是否對請求進行重試,但一定不能自動重試非冪等方法或序列。
完全關閉與半關閉:
http伺服器,**,快取,閘道器和應用程式。
很多web伺服器還提供了對伺服器包含項(ssi)的支援。
如果乙個呃呃超載的伺服器收到一條請求,伺服器可以將客戶端重定向到乙個負載不太重的伺服器上去。狀態碼303 see other和307 temporary redirect可用於重定向。
web**(proxy)伺服器是網路的中間實體,**位於客戶端和伺服器之間,扮演中間人的角色,在各端點之間來回傳送http報文。
**連線的是兩個或多個使用相同協議的應用程式,而閘道器連線的則是兩個或多個使用不同協議的端點。
商業化的**服務也會實現閘道器的功能來支援ssl安全協議,socks防火牆,ftp訪問,以及基於web的應用程式。
**伺服器可以看到並接觸到所有流過的http流量,所以**可以監視流量並對其進行修改,以實現很多有用的增值的web服務。
**如何獲取流量:
**可以作為訪問控制裝置使用,http定義了一種名為**認證(proxy authentication)的機制,這種機制可以阻止對內容的請求,直到使用者向**提供了有效的訪問許可權證書為止。
快取減少了冗餘的資料傳輸,快取緩解了網路瓶頸的問題,快取降低了對原始伺服器的要求,快取降低了距離時延(較遠的地方載入頁面會更慢一些)。
不同的web伺服器為http cache-control和expiration首部的設定提供了一些不同的限制。
專門有演算法來計算文件的使用期和快取的新鮮度: 已快取副本的使用期和已快取副本的新鮮生存期(freshness lifetime)
閘道器
閘道器可以作為某種翻譯器使用,它抽象出了一種能夠到達資源的方法,閘道器是資源和應用程式之間的粘合劑。
隧道中繼
大格局:
相關性排名(relevancy ranking), 對一系列搜尋結果的評分和排序處理。
用閘道器應用程式來生成一些在某些特定單詞上可以更好欺騙搜尋引擎相關性演算法的假冒頁面。
http-ng: 模組化三層: 報文傳輸層,遠端操作層和web應用功能層。
cookie是可以禁止的,而且可以通過日誌分析或其他方式來實現大部分跟蹤記錄,所以cookie自身並不是很大的安全隱患。
使用傳輸層安全(transport layer security, tls)和安全http(secure http, https)協議更安全一些。
md5摘要,用隨機數防止重放攻擊,摘要認證的握手機制:
多重質詢: 如果伺服器不了解客戶端能力,就可以即提供基本認證質詢,又提供摘要認證質詢;客戶端面對多重質詢時,必須以它所支援的最強的質詢機制來應答。
域值,與被訪問伺服器的標準根url結合在一起,定義了保護空間。
重要的事務需要將http和數字加密技術結合起來使用,才能保證安全。重定向與負載均衡
網路中的重定向的優點: 可靠地執行http事務,最小化時延,節約網路頻寬。
HTTP權威指南學習筆記
一直以為學習前端只需要掌握js語法 html語法 css就夠了,確實沒有想到還需要很多知識點,今天來細細學習http。乙個http請求由4部分組成 伺服器返回的http相應包含3部分 乙個數字和文字組成的狀態碼,用來顯示請求的成功和失敗 乙個響應頭集合 響應主體 最常用的web伺服器是apache和...
《http權威指南》學習筆記
型別 uri 當給定了uri,http就可以解析出物件。uri有兩種形式,分別稱為url和urn。url urn 事務 狀態碼 web頁面中可以包含多個物件 協議版本 web的結構元件 位於客戶端和伺服器之間,接收所有客戶端的http請求,並將這些請求 給伺服器 可能會對請求進行修改之後 快取 we...
《HTTP權威指南》學習筆記 HTTP報文
http 網際網路的信使 http報文 信使用來搬東西的包裹 http報文 http應用程式之間傳送的資料塊 組成 元資訊開頭 文字形式,描述報文的內容和含義 可選的資料部分。三部分組成 報文的語法 兩類 請求報文和響應報文 請求報文格式 響應報文格式 起始行 請求行 說明要做些什麼 響應行 說明發...