與HTTP相關的各類概念

說明

《透視HTTP協議》羅劍鋒 (奇虎360技術專家)在極客時間開的一門專欄課,筆者記錄一下學習筆記,僅供參考。算法

網絡世界

一、一般所說的「上網」實際上訪問的只是互聯網的一個子集「萬維網」(World Wide Web)數據庫

World Wide Web 它基於 HTTP 協議,傳輸 HTML 等超文本資源,能力也就被限制在 HTTP 協議以內。瀏覽器

二、互聯網上還有許多萬維網以外的資源緩存

例如經常使用的電子郵件、BT 和 Magnet 點對點下載、FTP 文件下載、SSH 安全登陸、各類即時通訊服務等等,它們須要用各自的專有協議來訪問。安全

瀏覽器

瀏覽器的正式名字叫「Web Browser」,顧名思義,就是檢索、查看互聯網上網頁資源的應用程序服務器

常見瀏覽器

Chrome、Firefox、Safari、IE、Edge、Opera。。。網絡

瀏覽器本質上是一個 HTTP 協議中的請求方,使用 HTTP 協議獲取網絡上的各類資源。集成了不少額外的功能架構

好比:HTML 排版引擎用來展現頁面,JavaScript 引擎用來實現動態化效果,甚至還有開發者工具用來調試網頁,等等插件和擴展。負載均衡

在 HTTP 協議裏,瀏覽器的角色被稱爲「User Agent」即「用戶代理」,做爲訪問者的「代理」來發起 HTTP 請求。ide

Web 服務器

瀏覽器是 HTTP 裏的請求方,另外一端的應答方(響應方)就是服務器Web Server

Web 服務器兩個層面的含義:

硬件含義:物理形式或「雲」形式的機器

軟件含義:提供 Web 服務的應用程序

ApacheNginx、Windows 上的 IIS、Java 的 Jetty/Tomcat 等

CDN

CDN,全稱Content Delivery Network內容分發網絡)。應用了 HTTP 協議裏的緩存和代理技術,代替源站響應客戶端的請求。

好處:它能夠緩存源站的數據。若是 CDN 的調度算法很優秀,更能夠找到離用戶最近的節點,大幅度縮短響應時間。

其餘:CDN 除了基本的網絡加速外,還提供負載均衡安全防禦邊緣計算跨運營商網絡等功能

爬蟲

爬蟲」(Crawler),其實是一種能夠自動訪問 Web 資源的應用程序。

一、來源:絕大多數爬蟲是由各大搜索引擎「放」出來的,抓取網頁存入龐大的數據庫,再創建關鍵字索引,這樣咱們纔可以在搜索引擎中快速地搜索到互聯網角落裏的頁面。

二、爬蟲壞處:它會過分消耗網絡資源,佔用服務器和帶寬,影響網站對真實數據的分析,甚至致使敏感信息泄漏。

三、「君子協定」robots.txt約定哪些該爬,哪些不應爬。

四、基本技術:不管是「爬蟲」仍是「反爬蟲」,用到的基本技術都是兩個,一個是 HTTP,另外一個就是 HTML

HTML/WebService/WAF

一、HTML 是 HTTP 協議傳輸的主要內容之一,它描述了超文本頁面,用各類「標籤」定義文字、圖片等資源和排版佈局,最終由瀏覽器「渲染」出可視化頁面。

二、Web Service:是一種由 W3C 定義的應用服務開發規範,使用 client-server 主從架構,一般使用 WSDL 定義服務接口,使用 HTTP 協議傳輸 XMLSOAP 消息,也就是說,它是一個基於 Web(HTTP)的服務架構技術,既能夠運行在內網,也能夠在適當保護後運行在外網。

三、WAF:是「網絡應用防火牆」。與硬件「防火牆」相似,它是應用層面的「防火牆」,專門檢測 HTTP 流量,是防禦 Web 應用的安全技術。

WAF 一般位於 Web 服務器以前,能夠阻止如 SQL 注入跨站腳本等攻擊,目前應用較多的一個開源項目是 ModSecurity,它可以徹底集成進 Apache 或 Nginx。

要點小結

一、互聯網上絕大部分資源都使用 HTTP 協議傳輸

二、瀏覽器是 HTTP 協議裏的請求方,即 User Agent

三、服務器是 HTTP 協議裏的應答方,經常使用的有 Apache 和 Nginx

四、CDN 位於瀏覽器和服務器之間,主要起到緩存加速的做用

五、爬蟲是另外一類 User Agent,是自動訪問網絡資源的程序

相關文章
相關標籤/搜索