1、第一章 瞭解Web及網絡基礎數據庫
1.HTTP歷史:瀏覽器
1)HTTP/0.9:HTTP於1990問世,當時標準未被正式創建,因此HTTP/1.0以前的版本,統稱爲HTTP/0.9緩存
2)HTTP/1.0:1996年5月公佈,記錄於RFC1945,沿用至今安全
3)HTTP/1.1:1997年1月公佈,記錄於RFC2616,目前主流版本服務器
4)HTTP/2.0:正在制定中網絡
ps.RFC(Request for Comments),徵求修改意見,制定HTTP協議技術標準的文檔,不含Cooike分佈式
2.TCP/IP協議族:互聯網鏈接協議(protocol),子集有:HTTP、TCP、IP、FTP、PPPoE、FTP等ide
3.TCP/IP四層模型:函數
1)應用層:FTP、DNS、HTTP編碼
2)傳輸層:TCP、UDP
3)網絡層:IP
4)鏈路層:操做系統、硬件驅動、網卡、光纖、硬件部分
PS.通過每層時會打上該層的首部信息,接收時去除
4.ARP協議:HTTP在網絡傳輸時,經過ARP協議就能夠解析目標地址,可是過程沒法全面掌握,經過路由選擇。
5.三次握手:發送SYN的flag->收到請求後回傳一個帶有SYN/ACK的flag->最後回傳一個帶有ACK的flag
6.URL是URI的子集,URI包含:Uniform(如http:或ftp:)、Resource(可標示的任何東西)、Identifier(標識符)
2、簡單的HTTP協議
1.HTTP中可使用的方法:GET、POST、PUT、HEAD、DELETE、OPTIONS、TRACE、CONNECT
2.持久鏈接:HTTP/1.1中,全部的鏈接默認都是持久鏈接
3.使用Cooike的狀態管理
3、HTTP報文內的HTTP信息
1.HTTP報文自己是由多行(用CR+LF做換行符\r\n)
2.HTTP首部內容:請求行、狀態行、首部字段、其它
3.報文的內容編碼格式有:gzip(GUN zip)、compress(UNIX系統的標準壓縮)、deflate(zlib)、identity(不進行編碼)
4.分割發送的分塊傳輸編碼:用於把實體主體分紅多塊發送,能夠在通訊時使用某種傳輸編碼(Transfer Coding)
5.多部分對象集合(Multipart):Content-Type:multipart/form-data[multipart/form-byteranges],使用boundarg字符串來劃分每一個部分(參見P4七、P48)
6.獲取部份內容的範圍請求:Range:bytes=5001-10000,響應返回206 Partical Content的響應報文
7.內容協商Content Negotiation:Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language
4、返回結果的HTTP狀態碼
1.類型簡介:
1XX:信息性狀態碼,接受的請求正在處理
2XX:成功狀態碼
204:No Content,請求處理成功,可是沒有資源可返回
206:Partial Content,客戶端進行範圍請求,服務器成功執行了這部分的GET請求
3XX:重定向狀態碼
301:Move Permanently:URL已更新(永久性的),須要進行書籤引用的變動
302:Found,和301相似,可是是臨時性的,不須要對書籤進行更新
303:See Other,使用GET方法重定向到新的URL上。即便是POST方法訪問,也只使用GET方法來作重定向,是和302方法的區別
304:Not Modified,發送附帶條件的請求時,若是發生服務器未知足條件的狀況,則返回此狀態
307:Temporary Redirect:和302相似,可是不會從POST變成GET
4XX:客戶端錯誤狀態碼,服務器端沒法處理請求
400:報文存在語法錯誤,服務器沒法理解。瀏覽器會像對待200 OK同樣對待該狀態碼
401:Unauthorized,須要認證
403:Forbidden,不容許訪問資源,能夠在返回主體裏描述緣由
404:Not Found,服務器資源未找到,也能夠在服務器拒絕請求且不想說明緣由時使用
5XX:服務器錯誤狀態碼,服務器處理請求出錯
500: Internal Server Error:服務器在執行請求時出錯了
503:Service Unavailable:服務器超負荷或者在進行停機維護
5、與HTTP協做的WEB服務器
1.通訊數據轉發程序:
1)代理:緩存代理、透明代理(非透明代理)
2)網關:和代理相似,可是能夠提供非HTTP協議服務器,如鏈接數據庫、信用卡結算系統等
3)隧道:按要求創建一條與其餘服務器的通訊線路,使用SSL等加密手段
6、HTTP首部
1.HTTP首部字段類型:(書中有詳細說明)
1)通用首部字段
2)請求首部字段
3)響應首部字段
4)實體首部字段
5)非HTTP/1.1首部字段:不在RFC2616中,而是在RFC4229中的47種首部字段,包括Cookie等
7、確保Web安全的HTTPS
1.HTTPS=HTTP+加密+認證+完整性保護
8、確認訪問用戶身份的認證
1.HTTP使用的認證方式:
1)BASIC認證(基本認證)
2)DIGEST認證(摘要認證)
3)SSL客戶端認證
4)FormBase認證(基於表單認證)
2.一般,一種安全的保存密碼的方式是,先給密碼加鹽,再使用散列(hash)函數計算出散列值後保存
9、基於HTTP的功能追加協議
1.爲了消除HTTP的瓶頸,出現的解決方案:Ajax、Comet、SPDY(開發中)、WebSocket(HTML5)、HTTP/2.0(制定中)
2.WebDAV:是一個可對Web服務器上的內容直接進行文件複製、編輯等操做的分佈式文件系統。它做爲HTTP/1.1的協議定義在RFC4918中
10、構建Web內容的技術(略)
11、Web的攻擊技術
1.因輸出值轉義不徹底引起的安全漏洞:
1)跨站腳本攻擊(XSS)
2)SQL注入攻擊
3)OS命令注入攻擊
4)HTTP首部注入攻擊
5)郵件首部注入攻擊
6)目錄遍歷攻擊
7)遠程文件包含漏洞
2.因設置或設計上的缺陷引起的安全漏洞
1)強制瀏覽
2)不正確的錯誤信息處理
3)開放重定向
3.因會發管理疏忽引起的安全漏洞
1)會話劫持
2) 會話固定攻擊
3)跨站點請求僞造(CSRF)
4.其它安全漏洞
1)密碼破解
2)點擊劫持
3)DoS攻擊
4)後門程序