网络爬虫--2.HTTP和HTTPS
文章目錄
- 一.簡(jiǎn)介
- 二.HTTP的請(qǐng)求與響應(yīng)
- 三.客戶(hù)端HTTP請(qǐng)求
- 1.格式
- 2.請(qǐng)求方法
- 四.常用的請(qǐng)求報(bào)頭
- 1.Host (主機(jī)和端口號(hào))
- 2.Connection (鏈接類(lèi)型)
- 3.Upgrade-Insecure-Requests (升級(jí)為HTTPS請(qǐng)求)
- 4. User-Agent (瀏覽器名稱(chēng))
- 5. Accept (傳輸文件類(lèi)型)
- 6.Referer (頁(yè)面跳轉(zhuǎn)處)
- 7.Accept-Encoding(文件編解碼格式)
- 8.Accept-Language(語(yǔ)言種類(lèi))
- 9. Accept-Charset(字符編碼)
- 10. Cookie (Cookie)
- 11. Content-Type (POST數(shù)據(jù)類(lèi)型)
- 五.服務(wù)端HTTP響應(yīng)
- 六.常用的響應(yīng)報(bào)頭
- 1. Cache-Control:must-revalidate, no-cache, private。
- 2. Connection:keep-alive
- 3. Content-Encoding:gzip
- 4. Content-Type:text/html;charset=UTF-8
- 5. Date:Sun, 21 Sep 2016 06:18:21 GMT
- 6. Expires:Sun, 1 Jan 2000 01:00:00 GMT
- 7. Pragma:no-cache
- 8.Server:Tengine/1.4.6
- 9. Transfer-Encoding:chunked
- 10. Vary: Accept-Encoding
- 11. Cookie 和 Session:
- 七.響應(yīng)狀態(tài)碼
一.簡(jiǎn)介
HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議):是一種發(fā)布和接收 HTML頁(yè)面的方法。
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)簡(jiǎn)單講是HTTP的安全版,在HTTP下加入SSL層。
SSL(Secure Sockets Layer 安全套接層)主要用于Web的安全傳輸協(xié)議,在傳輸層對(duì)網(wǎng)絡(luò)連接進(jìn)行加密,保障在Internet上數(shù)據(jù)傳輸?shù)陌踩?/p>
HTTP的端口號(hào)為80,
HTTPS的端口號(hào)為443
二.HTTP的請(qǐng)求與響應(yīng)
HTTP通信由兩部分組成: 客戶(hù)端請(qǐng)求消息 與 服務(wù)器響應(yīng)消息
瀏覽器發(fā)送HTTP請(qǐng)求的過(guò)程:
當(dāng)用戶(hù)在瀏覽器的地址欄中輸入一個(gè)URL并按回車(chē)鍵之后,瀏覽器會(huì)向HTTP服務(wù)器發(fā)送HTTP請(qǐng)求。HTTP請(qǐng)求主要分為“Get”和“Post”兩種方法。
當(dāng)我們?cè)跒g覽器輸入U(xiǎn)RL http://www.baidu.com 的時(shí)候,瀏覽器發(fā)送一個(gè)Request請(qǐng)求去獲取 http://www.baidu.com 的html文件,服務(wù)器把Response文件對(duì)象發(fā)送回給瀏覽器。
瀏覽器分析Response中的 HTML,發(fā)現(xiàn)其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 瀏覽器會(huì)自動(dòng)再次發(fā)送Request去獲取圖片,CSS文件,或者JS文件。
當(dāng)所有的文件都下載成功后,網(wǎng)頁(yè)會(huì)根據(jù)HTML語(yǔ)法結(jié)構(gòu),完整的顯示出來(lái)了。
URL(Uniform / Universal Resource Locator的縮寫(xiě)):統(tǒng)一資源定位符,是用于完整地描述Internet上網(wǎng)頁(yè)和其他資源的地址的一種標(biāo)識(shí)方法。
基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]
scheme:協(xié)議(例如:http, https, ftp)
host:服務(wù)器的IP地址或者域名
port#:服務(wù)器的端口(如果是走協(xié)議默認(rèn)端口,缺省端口80)
path:訪問(wèn)資源的路徑
query-string:參數(shù),發(fā)送給http服務(wù)器的數(shù)據(jù)
anchor:錨(跳轉(zhuǎn)到網(wǎng)頁(yè)的指定錨點(diǎn)位置)
例如:
ftp://192.168.0.116:8080/index
http://www.baidu.com
http://item.jd.com/11936238.html#product-detail
三.客戶(hù)端HTTP請(qǐng)求
1.格式
URL只是標(biāo)識(shí)資源的位置,而HTTP是用來(lái)提交和獲取資源。
客戶(hù)端發(fā)送一個(gè)HTTP請(qǐng)求到服務(wù)器的請(qǐng)求消息,包括以下四個(gè)部分組成:請(qǐng)求行、請(qǐng)求頭部、空行、請(qǐng)求數(shù)據(jù)
下圖給出了請(qǐng)求報(bào)文的一般格式。
GET https://www.baidu.com/ HTTP/1.1 Host: www.baidu.com Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Referer: http://www.baidu.com/ Accept-Encoding: gzip, deflate, sdch, br Accept-Language: zh-CN,zh;q=0.8,en;q=0.6 Cookie: BAIDUID=04E4001F34EA74AD4601512DD3C41A7B:FG=1; BIDUPSID=04E4001F34EA74AD4601512DD3C41A7B; PSTM=1470329258; MCITY=-343%3A340%3A; BDUSS=nF0MVFiMTVLcUh-Q2MxQ0M3STZGQUZ4N2hBa1FFRkIzUDI3QlBCZjg5cFdOd1pZQVFBQUFBJCQAAAAAAAAAAAEAAADpLvgG0KGyvLrcyfrG-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFaq3ldWqt5XN; H_PS_PSSID=1447_18240_21105_21386_21454_21409_21554; BD_UPN=12314753; sug=3; sugstore=0; ORIGIN=0; bdime=0; H_PS_645EC=7e2ad3QHl181NSPbFbd7PRUCE1LlufzxrcFmwYin0E6b%2BW8bbTMKHZbDP0g; BDSVRTM=02.請(qǐng)求方法
GET https://www.baidu.com/ HTTP/1.1根據(jù)HTTP標(biāo)準(zhǔn),HTTP請(qǐng)求可以使用多種請(qǐng)求方法。
HTTP 0.9:只有基本的文本 GET 功能。
HTTP 1.0:完善的請(qǐng)求/響應(yīng)模型,并將協(xié)議補(bǔ)充完整,定義了三種請(qǐng)求方法: GET, POST 和 HEAD方法。
HTTP 1.1:在 1.0 基礎(chǔ)上進(jìn)行更新,新增了五種請(qǐng)求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
HTTP 2.0(未普及):請(qǐng)求/響應(yīng)首部的定義基本沒(méi)有改變,只是所有首部鍵必須全部小寫(xiě),而且請(qǐng)求行要獨(dú)立為 :method、:scheme、:host、:path這些鍵值對(duì)。
HTTP請(qǐng)求主要分為Get和Post兩種方法
GET是從服務(wù)器上獲取數(shù)據(jù),POST是向服務(wù)器傳送數(shù)據(jù)
GET請(qǐng)求參數(shù)顯示,都顯示在瀏覽器網(wǎng)址上,HTTP服務(wù)器根據(jù)該請(qǐng)求所包含URL中的參數(shù)來(lái)產(chǎn)生響應(yīng)內(nèi)容,即“Get”請(qǐng)求的參數(shù)是URL的一部分。 例如: http://www.baidu.com/s?wd=Chinese
POST請(qǐng)求參數(shù)在請(qǐng)求體當(dāng)中,消息長(zhǎng)度沒(méi)有限制而且以隱式的方式進(jìn)行發(fā)送,通常用來(lái)向HTTP服務(wù)器提交量比較大的數(shù)據(jù)(比如請(qǐng)求中包含許多參數(shù)或者文件上傳操作等),請(qǐng)求的參數(shù)包含在“Content-Type”消息頭里,指明該消息體的媒體類(lèi)型和編碼,
注意:避免使用Get方式提交表單,因?yàn)橛锌赡軙?huì)導(dǎo)致安全問(wèn)題。 比如說(shuō)在登陸表單中用Get方式,用戶(hù)輸入的用戶(hù)名和密碼將在地址欄中暴露無(wú)遺。
四.常用的請(qǐng)求報(bào)頭
1.Host (主機(jī)和端口號(hào))
Host:對(duì)應(yīng)網(wǎng)址URL中的Web名稱(chēng)和端口號(hào),用于指定被請(qǐng)求資源的Internet主機(jī)和端口號(hào),通常屬于URL的一部分。
2.Connection (鏈接類(lèi)型)
Connection:表示客戶(hù)端與服務(wù)連接類(lèi)型
Client 發(fā)起一個(gè)包含 Connection:keep-alive 的請(qǐng)求,HTTP/1.1使用 keep-alive 為默認(rèn)值。
Server收到請(qǐng)求后:
keep-alive在很多情況下能夠重用連接,減少資源消耗,縮短響應(yīng)時(shí)間,比如當(dāng)瀏覽器需要多個(gè)文件時(shí)(比如一個(gè)HTML文件和相關(guān)的圖形文件),不需要每次都去請(qǐng)求建立連接。
3.Upgrade-Insecure-Requests (升級(jí)為HTTPS請(qǐng)求)
Upgrade-Insecure-Requests:升級(jí)不安全的請(qǐng)求,意思是會(huì)在加載 http 資源時(shí)自動(dòng)替換成 https 請(qǐng)求,讓瀏覽器不再顯示https頁(yè)面中的http請(qǐng)求警報(bào)。
HTTPS 是以安全為目標(biāo)的 HTTP 通道,所以在 HTTPS 承載的頁(yè)面上不允許出現(xiàn) HTTP 請(qǐng)求,一旦出現(xiàn)就是提示或報(bào)錯(cuò)。
4. User-Agent (瀏覽器名稱(chēng))
User-Agent:是客戶(hù)瀏覽器的名稱(chēng),以后會(huì)詳細(xì)講。
5. Accept (傳輸文件類(lèi)型)
Accept:指瀏覽器或其他客戶(hù)端可以接受的MIME(Multipurpose Internet Mail Extensions(多用途互聯(lián)網(wǎng)郵件擴(kuò)展))文件類(lèi)型,服務(wù)器可以根據(jù)它判斷并返回適當(dāng)?shù)奈募袷健?/p>
舉例:
Accept: /:表示什么都可以接收。
Accept:image/gif:表明客戶(hù)端希望接受GIF圖像格式的資源;
Accept:text/html:表明客戶(hù)端希望接受html文本。
Accept: text/html, application/xhtml+xml;q=0.9, image/*;q=0.8:表示瀏覽器支持的 MIME 類(lèi)型分別是 html文本、xhtml和xml文檔、所有的圖像格式資源。
q是權(quán)重系數(shù),范圍 0 =< q <= 1,q 值越大,請(qǐng)求越傾向于獲得其“;”之前的類(lèi)型表示的內(nèi)容。若沒(méi)有指定q值,則默認(rèn)為1,按從左到右排序順序;若被賦值為0,則用于表示瀏覽器不接受此內(nèi)容類(lèi)型。
Text:用于標(biāo)準(zhǔn)化地表示的文本信息,文本消息可以是多種字符集和或者多種格式的;Application:用于傳輸應(yīng)用程序數(shù)據(jù)或者二進(jìn)制數(shù)據(jù)。
6.Referer (頁(yè)面跳轉(zhuǎn)處)
Referer:表明產(chǎn)生請(qǐng)求的網(wǎng)頁(yè)來(lái)自于哪個(gè)URL,用戶(hù)是從該 Referer頁(yè)面訪問(wèn)到當(dāng)前請(qǐng)求的頁(yè)面。這個(gè)屬性可以用來(lái)跟蹤Web請(qǐng)求來(lái)自哪個(gè)頁(yè)面,是從什么網(wǎng)站來(lái)的等。
有時(shí)候遇到下載某網(wǎng)站圖片,需要對(duì)應(yīng)的referer,否則無(wú)法下載圖片,那是因?yàn)槿思易隽朔辣I鏈,原理就是根據(jù)referer去判斷是否是本網(wǎng)站的地址,如果不是,則拒絕,如果是,就可以下載;
7.Accept-Encoding(文件編解碼格式)
Accept-Encoding:指出瀏覽器可以接受的編碼方式。編碼方式不同于文件格式,它是為了壓縮文件并加速文件傳遞速度。瀏覽器在接收到Web響應(yīng)之后先解碼,然后再檢查文件格式,許多情形下這可以減少大量的下載時(shí)間。
舉例:Accept-Encoding:gzip;q=1.0, identity; q=0.5, *;q=0
如果有多個(gè)Encoding同時(shí)匹配, 按照q值順序排列,本例中按順序支持 gzip, identity壓縮編碼,支持gzip的瀏覽器會(huì)返回經(jīng)過(guò)gzip編碼的HTML頁(yè)面。 如果請(qǐng)求消息中沒(méi)有設(shè)置這個(gè)域服務(wù)器假定客戶(hù)端對(duì)各種內(nèi)容編碼都可以接受。
8.Accept-Language(語(yǔ)言種類(lèi))
Accept-Langeuage:指出瀏覽器可以接受的語(yǔ)言種類(lèi),如en或en-us指英語(yǔ),zh或者zh-cn指中文,當(dāng)服務(wù)器能夠提供一種以上的語(yǔ)言版本時(shí)要用到。
9. Accept-Charset(字符編碼)
Accept-Charset:指出瀏覽器可以接受的字符編碼。
舉例:Accept-Charset:iso-8859-1,gb2312,utf-8
ISO8859-1:通常叫做Latin-1。Latin-1包括了書(shū)寫(xiě)所有西方歐洲語(yǔ)言不可缺少的附加字符,英文瀏覽器的默認(rèn)值是ISO-8859-1.
gb2312:標(biāo)準(zhǔn)簡(jiǎn)體中文字符集;
utf-8:UNICODE 的一種變長(zhǎng)字符編碼,可以解決多種語(yǔ)言文本顯示問(wèn)題,從而實(shí)現(xiàn)應(yīng)用國(guó)際化和本地化。
如果在請(qǐng)求消息中沒(méi)有設(shè)置這個(gè)域,缺省是任何字符集都可以接受。
10. Cookie (Cookie)
Cookie:瀏覽器用這個(gè)屬性向服務(wù)器發(fā)送Cookie。Cookie是在瀏覽器中寄存的小型數(shù)據(jù)體,它可以記載和服務(wù)器相關(guān)的用戶(hù)信息,也可以用來(lái)實(shí)現(xiàn)會(huì)話功能,以后會(huì)詳細(xì)講。
11. Content-Type (POST數(shù)據(jù)類(lèi)型)
Content-Type:POST請(qǐng)求里用來(lái)表示的內(nèi)容類(lèi)型。
舉例:Content-Type = Text/XML; charset=gb2312:
指明該請(qǐng)求的消息體中包含的是純文本的XML類(lèi)型的數(shù)據(jù),字符編碼采用“gb2312”。
五.服務(wù)端HTTP響應(yīng)
HTTP響應(yīng)也由四個(gè)部分組成,分別是: 狀態(tài)行、消息報(bào)頭、空行、響應(yīng)正文
六.常用的響應(yīng)報(bào)頭
理論上所有的響應(yīng)頭信息都應(yīng)該是回應(yīng)請(qǐng)求頭的。但是服務(wù)端為了效率,安全,還有其他方面的考慮,會(huì)添加相對(duì)應(yīng)的響應(yīng)頭信息,從上圖可以看到:
1. Cache-Control:must-revalidate, no-cache, private。
這個(gè)值告訴客戶(hù)端,服務(wù)端不希望客戶(hù)端緩存資源,在下次請(qǐng)求資源時(shí),必須要從新請(qǐng)求服務(wù)器,不能從緩存副本中獲取資源。
Cache-Control是響應(yīng)頭中很重要的信息,當(dāng)客戶(hù)端請(qǐng)求頭中包含Cache-Control:max-age=0請(qǐng)求,明確表示不會(huì)緩存服務(wù)器資源時(shí),Cache-Control作為作為回應(yīng)信息,通常會(huì)返回no-cache,意思就是說(shuō),“那就不緩存唄”。
當(dāng)客戶(hù)端在請(qǐng)求頭中沒(méi)有包含Cache-Control時(shí),服務(wù)端往往會(huì)定,不同的資源不同的緩存策略,比如說(shuō)oschina在緩存圖片資源的策略就是Cache-Control:max-age=86400,這個(gè)意思是,從當(dāng)前時(shí)間開(kāi)始,在86400秒的時(shí)間內(nèi),客戶(hù)端可以直接從緩存副本中讀取資源,而不需要向服務(wù)器請(qǐng)求。
2. Connection:keep-alive
這個(gè)字段作為回應(yīng)客戶(hù)端的Connection:keep-alive,告訴客戶(hù)端服務(wù)器的tcp連接也是一個(gè)長(zhǎng)連接,客戶(hù)端可以繼續(xù)使用這個(gè)tcp連接發(fā)送http請(qǐng)求。
3. Content-Encoding:gzip
告訴客戶(hù)端,服務(wù)端發(fā)送的資源是采用gzip編碼的,客戶(hù)端看到這個(gè)信息后,應(yīng)該采用gzip對(duì)資源進(jìn)行解碼。
4. Content-Type:text/html;charset=UTF-8
告訴客戶(hù)端,資源文件的類(lèi)型,還有字符編碼,客戶(hù)端通過(guò)utf-8對(duì)資源進(jìn)行解碼,然后對(duì)資源進(jìn)行html解析。通常我們會(huì)看到有些網(wǎng)站是亂碼的,往往就是服務(wù)器端沒(méi)有返回正確的編碼。
5. Date:Sun, 21 Sep 2016 06:18:21 GMT
這個(gè)是服務(wù)端發(fā)送資源時(shí)的服務(wù)器時(shí)間,GMT是格林尼治所在地的標(biāo)準(zhǔn)時(shí)間。http協(xié)議中發(fā)送的時(shí)間都是GMT的,這主要是解決在互聯(lián)網(wǎng)上,不同時(shí)區(qū)在相互請(qǐng)求資源的時(shí)候,時(shí)間混亂問(wèn)題。
6. Expires:Sun, 1 Jan 2000 01:00:00 GMT
這個(gè)響應(yīng)頭也是跟緩存有關(guān)的,告訴客戶(hù)端在這個(gè)時(shí)間前,可以直接訪問(wèn)緩存副本,很顯然這個(gè)值會(huì)存在問(wèn)題,因?yàn)榭蛻?hù)端和服務(wù)器的時(shí)間不一定會(huì)都是相同的,如果時(shí)間不同就會(huì)導(dǎo)致問(wèn)題。所以這個(gè)響應(yīng)頭是沒(méi)有Cache-Control:max-age=*這個(gè)響應(yīng)頭準(zhǔn)確的,因?yàn)閙ax-age=date中的date是個(gè)相對(duì)時(shí)間,不僅更好理解,也更準(zhǔn)確。
7. Pragma:no-cache
這個(gè)含義與Cache-Control等同。
8.Server:Tengine/1.4.6
這個(gè)是服務(wù)器和相對(duì)應(yīng)的版本,只是告訴客戶(hù)端服務(wù)器的信息。
9. Transfer-Encoding:chunked
這個(gè)響應(yīng)頭告訴客戶(hù)端,服務(wù)器發(fā)送的資源的方式是分塊發(fā)送的。一般分塊發(fā)送的資源都是服務(wù)器動(dòng)態(tài)生成的,在發(fā)送時(shí)還不知道發(fā)送資源的大小,所以采用分塊發(fā)送,每一塊都是獨(dú)立的,獨(dú)立的塊都能標(biāo)示自己的長(zhǎng)度,最后一塊是0長(zhǎng)度的,當(dāng)客戶(hù)端讀到這個(gè)0長(zhǎng)度的塊時(shí),就可以確定資源已經(jīng)傳輸完了。
10. Vary: Accept-Encoding
告訴緩存服務(wù)器,緩存壓縮文件和非壓縮文件兩個(gè)版本,現(xiàn)在這個(gè)字段用處并不大,因?yàn)楝F(xiàn)在的瀏覽器都是支持壓縮的。
11. Cookie 和 Session:
服務(wù)器和客戶(hù)端的交互僅限于請(qǐng)求/響應(yīng)過(guò)程,結(jié)束之后便斷開(kāi),在下一次請(qǐng)求時(shí),服務(wù)器會(huì)認(rèn)為新的客戶(hù)端。
為了維護(hù)他們之間的鏈接,讓服務(wù)器知道這是前一個(gè)用戶(hù)發(fā)送的請(qǐng)求,必須在一個(gè)地方保存客戶(hù)端的信息。
Cookie:通過(guò)在 客戶(hù)端 記錄的信息確定用戶(hù)的身份。
Session:通過(guò)在 服務(wù)器端 記錄的信息確定用戶(hù)的身份。
七.響應(yīng)狀態(tài)碼
響應(yīng)狀態(tài)代碼有三位數(shù)字組成,第一個(gè)數(shù)字定義了響應(yīng)的類(lèi)別,且有五種可能取值。常見(jiàn)狀態(tài)碼:
100~199:表示服務(wù)器成功接收部分請(qǐng)求,要求客戶(hù)端繼續(xù)提交其余請(qǐng)求才能完成整個(gè)處理過(guò)程。
200~299:表示服務(wù)器成功接收請(qǐng)求并已完成整個(gè)處理過(guò)程。常用200(OK 請(qǐng)求成功)。
300~399:為完成請(qǐng)求,客戶(hù)需進(jìn)一步細(xì)化請(qǐng)求。例如:請(qǐng)求的資源已經(jīng)移動(dòng)一個(gè)新地址、常用302(所請(qǐng)求的頁(yè)面已經(jīng)臨時(shí)轉(zhuǎn)移至新的url)、307和304(使用緩存資源)。
400~499:客戶(hù)端的請(qǐng)求有錯(cuò)誤,常用404(服務(wù)器無(wú)法找到被請(qǐng)求的頁(yè)面)、403(服務(wù)器拒絕訪問(wèn),權(quán)限不夠)。
500~599:服務(wù)器端出現(xiàn)錯(cuò)誤,常用500(請(qǐng)求未完成。服務(wù)器遇到不可預(yù)知的情況)。
1xx:信息100 Continue 服務(wù)器僅接收到部分請(qǐng)求,但是一旦服務(wù)器并沒(méi)有拒絕該請(qǐng)求,客戶(hù)端應(yīng)該繼續(xù)發(fā)送其余的請(qǐng)求。 101 Switching Protocols 服務(wù)器轉(zhuǎn)換協(xié)議:服務(wù)器將遵從客戶(hù)的請(qǐng)求轉(zhuǎn)換到另外一種協(xié)議。2xx:成功200 OK 請(qǐng)求成功(其后是對(duì)GET和POST請(qǐng)求的應(yīng)答文檔) 201 Created 請(qǐng)求被創(chuàng)建完成,同時(shí)新的資源被創(chuàng)建。 202 Accepted 供處理的請(qǐng)求已被接受,但是處理未完成。 203 Non-authoritative Information 文檔已經(jīng)正常地返回,但一些應(yīng)答頭可能不正確,因?yàn)槭褂玫氖俏臋n的拷貝。 204 No Content 沒(méi)有新文檔。瀏覽器應(yīng)該繼續(xù)顯示原來(lái)的文檔。如果用戶(hù)定期地刷新頁(yè)面,而Servlet可以確定用戶(hù)文檔足夠新,這個(gè)狀態(tài)代碼是很有用的。 205 Reset Content 沒(méi)有新文檔。但瀏覽器應(yīng)該重置它所顯示的內(nèi)容。用來(lái)強(qiáng)制瀏覽器清除表單輸入內(nèi)容。 206 Partial Content 客戶(hù)發(fā)送了一個(gè)帶有Range頭的GET請(qǐng)求,服務(wù)器完成了它。3xx:重定向300 Multiple Choices 多重選擇。鏈接列表。用戶(hù)可以選擇某鏈接到達(dá)目的地。最多允許五個(gè)地址。 301 Moved Permanently 所請(qǐng)求的頁(yè)面已經(jīng)轉(zhuǎn)移至新的url。 302 Moved Temporarily 所請(qǐng)求的頁(yè)面已經(jīng)臨時(shí)轉(zhuǎn)移至新的url。 303 See Other 所請(qǐng)求的頁(yè)面可在別的url下被找到。 304 Not Modified 未按預(yù)期修改文檔??蛻?hù)端有緩沖的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般是提供If-Modified-Since頭表示客戶(hù)只想比指定日期更新的文檔)。服務(wù)器告訴客戶(hù),原來(lái)緩沖的文檔還可以繼續(xù)使用。 305 Use Proxy 客戶(hù)請(qǐng)求的文檔應(yīng)該通過(guò)Location頭所指明的代理服務(wù)器提取。 306 Unused 此代碼被用于前一版本。目前已不再使用,但是代碼依然被保留。 307 Temporary Redirect 被請(qǐng)求的頁(yè)面已經(jīng)臨時(shí)移至新的url。4xx:客戶(hù)端錯(cuò)誤400 Bad Request 服務(wù)器未能理解請(qǐng)求。 401 Unauthorized 被請(qǐng)求的頁(yè)面需要用戶(hù)名和密碼。 401.1 登錄失敗。 401.2 服務(wù)器配置導(dǎo)致登錄失敗。 401.3 由于 ACL 對(duì)資源的限制而未獲得授權(quán)。 401.4 篩選器授權(quán)失敗。 401.5 ISAPI/CGI 應(yīng)用程序授權(quán)失敗。 401.7 訪問(wèn)被 Web 服務(wù)器上的 URL 授權(quán)策略拒絕。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專(zhuān)用。 402 Payment Required 此代碼尚無(wú)法使用。 403 Forbidden 對(duì)被請(qǐng)求頁(yè)面的訪問(wèn)被禁止。 403.1 執(zhí)行訪問(wèn)被禁止。 403.2 讀訪問(wèn)被禁止。 403.3 寫(xiě)訪問(wèn)被禁止。 403.4 要求 SSL。 403.5 要求 SSL 128。 403.6 IP 地址被拒絕。 403.7 要求客戶(hù)端證書(shū)。 403.8 站點(diǎn)訪問(wèn)被拒絕。 403.9 用戶(hù)數(shù)過(guò)多。 403.10 配置無(wú)效。 403.11 密碼更改。 403.12 拒絕訪問(wèn)映射表。 403.13 客戶(hù)端證書(shū)被吊銷(xiāo)。 403.14 拒絕目錄列表。 403.15 超出客戶(hù)端訪問(wèn)許可。 403.16 客戶(hù)端證書(shū)不受信任或無(wú)效。 403.17 客戶(hù)端證書(shū)已過(guò)期或尚未生效。 403.18 在當(dāng)前的應(yīng)用程序池中不能執(zhí)行所請(qǐng)求的 URL。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專(zhuān)用。 403.19 不能為這個(gè)應(yīng)用程序池中的客戶(hù)端執(zhí)行 CGI。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專(zhuān)用。 403.20 Passport 登錄失敗。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專(zhuān)用。 404 Not Found 服務(wù)器無(wú)法找到被請(qǐng)求的頁(yè)面。 404.0 沒(méi)有找到文件或目錄。 404.1 無(wú)法在所請(qǐng)求的端口上訪問(wèn) Web 站點(diǎn)。 404.2 Web 服務(wù)擴(kuò)展鎖定策略阻止本請(qǐng)求。 404.3 MIME 映射策略阻止本請(qǐng)求。 405 Method Not Allowed 請(qǐng)求中指定的方法不被允許。 406 Not Acceptable 服務(wù)器生成的響應(yīng)無(wú)法被客戶(hù)端所接受。 407 Proxy Authentication Required 用戶(hù)必須首先使用代理服務(wù)器進(jìn)行驗(yàn)證,這樣請(qǐng)求才會(huì)被處理。 408 Request Timeout 請(qǐng)求超出了服務(wù)器的等待時(shí)間。 409 Conflict 由于沖突,請(qǐng)求無(wú)法被完成。 410 Gone 被請(qǐng)求的頁(yè)面不可用。 411 Length Required "Content-Length" 未被定義。如果無(wú)此內(nèi)容,服務(wù)器不會(huì)接受請(qǐng)求。 412 Precondition Failed 請(qǐng)求中的前提條件被服務(wù)器評(píng)估為失敗。 413 Request Entity Too Large 由于所請(qǐng)求的實(shí)體的太大,服務(wù)器不會(huì)接受請(qǐng)求。 414 Request-url Too Long 由于url太長(zhǎng),服務(wù)器不會(huì)接受請(qǐng)求。當(dāng)post請(qǐng)求被轉(zhuǎn)換為帶有很長(zhǎng)的查詢(xún)信息的get請(qǐng)求時(shí),就會(huì)發(fā)生這種情況。 415 Unsupported Media Type 由于媒介類(lèi)型不被支持,服務(wù)器不會(huì)接受請(qǐng)求。 416 Requested Range Not Satisfiable 服務(wù)器不能滿足客戶(hù)在請(qǐng)求中指定的Range頭。 417 Expectation Failed 執(zhí)行失敗。 423 鎖定的錯(cuò)誤。5xx:服務(wù)器錯(cuò)誤500 Internal Server Error 請(qǐng)求未完成。服務(wù)器遇到不可預(yù)知的情況。 500.12 應(yīng)用程序正忙于在 Web 服務(wù)器上重新啟動(dòng)。 500.13 Web 服務(wù)器太忙。 500.15 不允許直接請(qǐng)求 Global.asa。 500.16 UNC 授權(quán)憑據(jù)不正確。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專(zhuān)用。 500.18 URL 授權(quán)存儲(chǔ)不能打開(kāi)。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專(zhuān)用。 500.100 內(nèi)部 ASP 錯(cuò)誤。 501 Not Implemented 請(qǐng)求未完成。服務(wù)器不支持所請(qǐng)求的功能。 502 Bad Gateway 請(qǐng)求未完成。服務(wù)器從上游服務(wù)器收到一個(gè)無(wú)效的響應(yīng)。 502.1 CGI 應(yīng)用程序超時(shí)。 · 502.2 CGI 應(yīng)用程序出錯(cuò)。 503 Service Unavailable 請(qǐng)求未完成。服務(wù)器臨時(shí)過(guò)載或當(dāng)機(jī)。 504 Gateway Timeout 網(wǎng)關(guān)超時(shí)。 505 HTTP Version Not Supported 服務(wù)器不支持請(qǐng)求中指明的HTTP協(xié)議版本總結(jié)
以上是生活随笔為你收集整理的网络爬虫--2.HTTP和HTTPS的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CentOS7.0离线安装RHadoop
- 下一篇: 什么材料反射热量好_封阳台用什么材料好,