HTTP基本原理
URL和URI
- url:統(tǒng)一資源定位符,用來定位某些資源,是uri的子集
- URI:統(tǒng)一資源標志符,用來標識某些資源
HTTP和HTTPS
- HTTP:超文本傳輸協議,即從網絡傳輸超文本數據到本地瀏覽器的協議。目前廣泛使用的是HTTP 1.1版本。
- HTTPS:以安全為目標的超文本傳輸協議,在HTTP的基礎上加入了SSL層,用來進行安全認證。
- 作用:建立一個安全的的通道來保證數據傳輸的安全;確認網絡的真實性,可以查看網站的真實信息。
請求和響應
- 請求:包括請求方式、請求網址,請求頭、請求體。
- 常見的請求方式:GET和POST
- Get:請求頁面,并返回頁面數據,參數會暴露在URL中,提交的數據最多只有1024字節(jié)。
- Post:用于表單提交和文件上傳,參數不會暴露在url中,而是包含在請求體中請求的數據沒有大小的限制。
- 請求的網址:即請求的url,唯一確定我們想要的資源
- 請求頭:用來說明服務器要使用的附加信息,常見信息有cookies、referer,user-agent等。
- accept:請求報頭域,用于指定瀏覽器可接受哪些類型的信息。
- accept-language:指定瀏覽器可接受的語言類別。
- accept-encoding:指定瀏覽器可接受的內容編碼。
- Host:用于指定請求資源的的主機IP和端口號
- cookie:為了辨別用戶進行繪畫跟蹤而存儲在用戶本地的數據,主要功能是維持當前會話.
- referer:標志當前請求是從哪個頁面發(fā)過來的。
- user-agent:一個特殊的字符串,可以使服務器識別客戶使用的瀏覽器版本信息以及操作系統(tǒng)及版本。
- content-type:互聯網媒體類型,表示具體請求中的媒體類型信息,例如:text/html代表html格式。
- 請求體:請求體一般承載的內容是post請求中獲得表單數據,對于get請求,請求體為空。
- 常見的請求方式:GET和POST
- 響應:由服務端返回給客戶端,可以分為三部分:響應狀態(tài)碼,響應頭和響應體。
- 響應狀態(tài)碼:200表示正常,404表示頁面找不到等
- 響應頭:包含了服務器對請求的應答信息,包括content-type,server等。
- date:標識響應產生的時間
- last-modified:指定資源的最后修改時間
- content-encoding:指定響應內容的編碼
- server:包含服務器的信息,例如名稱,版本號等
- content-type:文檔類型,指定返回的數據類型是什么
- set-cookies:設置cookies
- expires:設置響應過期時間,將內容加載到緩存中,降低服務器負載,縮短加載時間。
- 響應體:所返回的數據。
爬蟲的基本流程
- 獲取網頁源代碼-分析源碼,提取數據-保存數據-自動化程序
會話和cookies
- 無狀態(tài)http:http的一個特點,無狀態(tài),也就是說http協議對事物處理是沒有記憶能力的。
- 保持http鏈接狀態(tài)的兩個技術:會話和cookies。服務器通過識別cookies識別是哪個用戶,然后再判斷用戶是否處于登陸狀態(tài),從而返回對應的響應
- 會話:會話在服務器端,用來保護用戶的會話信息。
- cookies:在客戶端,與會話協作,實現了登錄會話的維持狀態(tài)。
- name:cookie的名字,一旦創(chuàng)建不可改變
- value:該cookie的值
- domain:設置可以訪問該cookie的域名,即有哪些域名可以訪問該cookie
- max-age:設置cookie失效時間,單位為秒
- path:設置cookie的使用路徑,即哪些路徑可以使用cookie,如果設置/,則本域名下的所有路徑都可以訪問該cookie
- size:cookie的大小