成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

好好說(shuō)道下Http協(xié)議

array_huang / 677人閱讀

摘要:是一種無(wú)狀態(tài)協(xié)議。響應(yīng)空白行代表相應(yīng)頭結(jié)束響應(yīng)正文或者叫消息主題響應(yīng)行響應(yīng)的第一行為響應(yīng)行,其中有版本,狀態(tài)碼以及消息響應(yīng)頭第二行至末尾空白行為響應(yīng)頭,由服務(wù)器向客戶端發(fā)送。這個(gè)頭通常配合狀態(tài)碼使用。

無(wú)狀態(tài)的Http協(xié)議

http協(xié)議的最新版本是1.1。是一種無(wú)狀態(tài)協(xié)議。

什么是無(wú)狀態(tài)協(xié)議?

無(wú)狀態(tài)協(xié)議是指web瀏覽器與web服務(wù)器之間不需要建立持久鏈接。當(dāng)客戶端向服務(wù)器端發(fā)送請(qǐng)求(Request)時(shí),服務(wù)器響應(yīng)客戶端的請(qǐng)求(Response),鏈接就被關(guān)閉了,在服務(wù)器端不保留鏈接的有關(guān)信息。也就是說(shuō)http請(qǐng)求只能由客戶端發(fā)起服務(wù)器端不能主動(dòng)向客戶端發(fā)送數(shù)據(jù)。

不知道大家有沒(méi)看過(guò)《記憶碎片》,這部電影里面的男主角患了罕見(jiàn)的短期記憶喪失癥,也就是同一個(gè)人,上次一起打過(guò)招呼,下次遇上了也不認(rèn)識(shí)。但是他借助于紙跟筆,以及身上的紋身讓他去記住一些東西。這好比在我們web開發(fā)中的cookiesession。就是因?yàn)閔ttp得了臉盲癥cookiesession才會(huì)應(yīng)運(yùn)而生。

http請(qǐng)求與響應(yīng)

http遵循請(qǐng)求(Request)/應(yīng)答(Response)模型

HTTP請(qǐng)求
POST /login.php HTTP/1.1        //請(qǐng)求行
HOST: www.jiejieyh.cn            //請(qǐng)求頭
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
                                //空白行,代表請(qǐng)求頭結(jié)束
Username=admin&password=12345    //請(qǐng)求正文
請(qǐng)求行

HTTP請(qǐng)求的第一行即為請(qǐng)求行,請(qǐng)求行有三部分組成

第一部分說(shuō)明了該請(qǐng)求是POST請(qǐng)求

第二部分說(shuō)明請(qǐng)求的是該域名根目錄下的login.php

第三部分說(shuō)明使用的HTTP協(xié)議版本

請(qǐng)求頭

第二行至空白行為HTTP中的請(qǐng)求頭

HOST代表請(qǐng)求的主機(jī)地址

User-Agent 代表瀏覽器標(biāo)識(shí)

請(qǐng)求頭由客戶端自行設(shè)定

請(qǐng)求正文

HTTP請(qǐng)求的最后一行為請(qǐng)求正文,請(qǐng)求正文是可選的。最常出現(xiàn)在POST請(qǐng)求方法中。

HTTP響應(yīng)
HTTP/1.1 200 OK
Date: Wed, 23 Nov 2016 10:18:00 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 83
Connection: keep-alive
Server: Apache
X-Powered-By: PHP/7.0.7
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Authorization, origin, X-Requested-With, Content-Type, XMLHttpRequest,request-id
Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
//空白行代表相應(yīng)頭結(jié)束


                  //響應(yīng)正文或者叫消息主題
    
...
響應(yīng)行

HTTP響應(yīng)的第一行為響應(yīng)行,其中有HTTP版本,狀態(tài)碼、以及消息“OK”

響應(yīng)頭

第二行至末尾空白行為響應(yīng)頭,由服務(wù)器向客戶端發(fā)送。

響應(yīng)正文

響應(yīng)頭之后是響應(yīng)正文,服務(wù)器向客戶端發(fā)送的數(shù)據(jù)

HTTP請(qǐng)求方法 GET

GET方法用于獲取請(qǐng)求頁(yè)面的指定信息(以實(shí)體的格式)

GET /index.php?id=1 HTTP/1.1
HOST: www.jiejieyh.cn
HEAD

使用HEAD方法服務(wù)器不能在響應(yīng)里返回消息主體,其它與GET相同。此方法常用來(lái)測(cè)試超文本的有效性、可訪問(wèn)性和最近的改變。

攻擊者編寫掃描工具時(shí),常用此方法,因?yàn)橹粶y(cè)試資源是否存在,而不用返回消息主體。速度一定是最快的

HEAD /index.php HTTP/1.1
HOST: www.jiejieyh.cn
POST

POST方法與GET方法相似,最大的區(qū)別在于GET方法沒(méi)有請(qǐng)求內(nèi)容,而POST是有請(qǐng)求內(nèi)容的。

POST請(qǐng)求最多用于向服務(wù)器發(fā)送大量的數(shù)據(jù)。GET雖然也能發(fā)送數(shù)據(jù),但是有長(zhǎng)度限制。

GET請(qǐng)求將發(fā)送的數(shù)據(jù)顯式在瀏覽器端,而POST則不會(huì)。安全性相對(duì)對(duì)對(duì)對(duì)高一點(diǎn)...

POST /interface/login.php HTTP/1.1
Host: www.jiejieyh.cn
Connection: keep-alive
Content-Length: 63
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://www.jiejieyh.cn
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://www.jiejieyh.cn/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8

act=kol&userName=admin&passWord=123456&vcode=9614&autoLogin=0
PUT

PUT方法用于請(qǐng)求服務(wù)器把請(qǐng)求中的實(shí)體存儲(chǔ)在請(qǐng)求資源下,如果請(qǐng)求資源已經(jīng)在服務(wù)器中存在則覆蓋,不存在將會(huì)創(chuàng)建這個(gè)資源。數(shù)據(jù)為請(qǐng)求正文

PUT /input.txt
HOST:www.jiejieyh.cn

12346

這段HTTP PUT請(qǐng)求將會(huì)在主機(jī)根目錄下創(chuàng)建input.txt,內(nèi)容為123456。不用想,通常情況下通過(guò)請(qǐng)求寫入文件,服務(wù)器都會(huì)禁止的。

DELETE

DELETE 方法用于請(qǐng)求源服務(wù)器刪除指定的資源,服務(wù)器一搬會(huì)關(guān)閉此方法。

TRACE

TRACE方法用于激發(fā)一個(gè)遠(yuǎn)程的應(yīng)用層的請(qǐng)求消息回路。也就是說(shuō)回顯服務(wù)器收到的請(qǐng)求。TRACE方法允許客戶端去了解數(shù)據(jù)被請(qǐng)求鏈的另一端接收的情況,并且利用那些數(shù)據(jù)信息去測(cè)試或診斷,此方法非常少見(jiàn)。

CONNECT

HTTP 1.1協(xié)議規(guī)范保留了CONNECT方法,用于能動(dòng)態(tài)切換到隧道的代理。

OPTIONS

OPTIONS方法是用于請(qǐng)求獲得由URL標(biāo)識(shí)的資源在請(qǐng)求/響應(yīng)的通信過(guò)程中可以使用的功能選項(xiàng)。通過(guò)這個(gè)方法,客戶端可以在采取具體資源請(qǐng)求之前,決定對(duì)該資源采取何種必要措施?;蛘吡私夥?wù)器的性能。

OPTIONS / HTTP/1.1
HOST:www.jiejieyh.cn

HTTP/1.1 200 OK
Allow:OPTIONS,TRACE,GET,HEAD,POST
Server:Microsoft-IIs/7.5
Public:OPTIONS,TRACE,GET,HEAD,POST
X-Powerd-By:ASP.NET
Content-Length:0
Http狀態(tài)碼

客戶端發(fā)出請(qǐng)求后,服務(wù)器接收處理完成后會(huì) 向客戶端發(fā)送響應(yīng)信息,其中Http響應(yīng)中的第一行中,最重要的一點(diǎn)就是Http的狀態(tài)碼

    HTTP/1.1 200 ok

此時(shí)的狀態(tài)碼為200,在Http協(xié)議中表示請(qǐng)求成功

Http的狀態(tài)碼由3位數(shù)字組成,第一位數(shù)字定義了響應(yīng)的類別且有只有以下5種:

1xx:信息提示,表示請(qǐng)求已經(jīng)被成功接收,繼續(xù)處理。范圍100-101

2xx:成功,服務(wù)器成功的處理了請(qǐng)求,范圍200-206

3xx:重定向,重定向狀態(tài)碼用于告訴瀏覽器客戶端,它們?cè)L問(wèn)的資源已被移動(dòng),并告訴客戶端新的資源地址位置。這時(shí)瀏覽器將重新對(duì)新資源發(fā)起請(qǐng)求。范圍300-305

4xx:客戶端錯(cuò)誤碼,有時(shí)候客戶端會(huì)發(fā)送一些服務(wù)器無(wú)法處理的東西,比如格式錯(cuò)誤的請(qǐng)求,請(qǐng)求一個(gè)不存在的url...其范圍是400-415

5xx:客戶端發(fā)送的請(qǐng)求有效,服務(wù)器自身出錯(cuò)了,5xx就是用來(lái)描述服務(wù)器內(nèi)部錯(cuò)誤的,范圍500-505

常見(jiàn)的狀態(tài)碼

200:客戶端請(qǐng)求成功

302:重定向

404:請(qǐng)求的資源不存在

401:請(qǐng)求未經(jīng)授權(quán)

500:服務(wù)器內(nèi)部錯(cuò)誤

503:服務(wù)器當(dāng)前不能處理客戶端的請(qǐng)求,一段時(shí)間后可能恢復(fù)正常

Http消息

Http消息稱為Http頭,由4部分組成 請(qǐng)求頭、響應(yīng)頭、普通頭、實(shí)體頭。

請(qǐng)求頭

請(qǐng)求頭只出現(xiàn)在Http請(qǐng)求中,請(qǐng)求報(bào)頭允許客戶端向服務(wù)器傳遞請(qǐng)求的附加信息和客戶端自身的信息。

常用的Http請(qǐng)求頭

Host:主要用于指定被請(qǐng)求的Internet主機(jī)和端口號(hào) HOST:www.jiejieyh.cn:801

User-Agent:請(qǐng)求報(bào)頭域允許客戶端將它的操作系統(tǒng)、瀏覽器和其它屬性告訴服務(wù)器 User-Agent:My privacy

Referer:Referer包含一個(gè)URL,代表當(dāng)前訪問(wèn)的URL的上一個(gè)URL,也就是說(shuō)用戶是從什么地方來(lái)到本頁(yè)面。
Referer:www.jiejieyh.cn/register.php

Cookie:Cookie是非常重要的請(qǐng)求頭,它是一段文本,常用來(lái)表示請(qǐng)求者的身份等。

Range可以請(qǐng)求實(shí)體的部分內(nèi)容,多線程下載一定會(huì)用到此請(qǐng)求頭。例如:

表示頭500個(gè)字節(jié):bytes=0~499

表示第二個(gè)500字節(jié):bytes=500~999

表示最后500字節(jié):bytes=-500

表示500字節(jié)以后的范圍:bytes=500-

x-forward-for:即XXF頭,它代表請(qǐng)求端的IP,可以有多個(gè),中間以逗號(hào)隔開

Accept:用于指定客戶端接收那些MIME類型的信息,如Accept:text/html,表明客戶端希望接收HTML文本。

Accept-Charset:用于指定客戶端接收的字符集例如:Accept-Charset:utf-8,gb2312。如果在請(qǐng)求消息中沒(méi)有設(shè)置這個(gè)域,默認(rèn)是任何字符集都可以接收。

響應(yīng)頭

Server:服務(wù)器所使用的Web服務(wù)器名稱,如Server:Apache/1.3.6(Unix),攻擊者可以通過(guò)此頭探測(cè)Web服務(wù)器名稱。建議在服務(wù)器端進(jìn)行修改此頭的信息

Set-Cookie:向客戶端設(shè)置Cookie,通過(guò)查看此頭可以清楚地看到服務(wù)器向客戶端發(fā)送的Cookie信息

Last-Modified:服務(wù)器通過(guò)這個(gè)頭告訴瀏覽器,資源最后修改時(shí)間

Location:服務(wù)器通過(guò)這個(gè)頭告訴瀏覽器去訪問(wèn)哪個(gè)頁(yè)面,瀏覽器接收到這個(gè)響應(yīng)之后,通常會(huì)立刻訪問(wèn)Location頭所指向的頁(yè)面。這個(gè)頭通常配合302狀態(tài)碼使用。

Refresh:服務(wù)器通過(guò)Refresh頭告訴瀏覽器定時(shí)刷新瀏覽器

實(shí)體頭

請(qǐng)求和響應(yīng)消息都可以傳送一個(gè)實(shí)體頭。實(shí)體頭定義了關(guān)于實(shí)體正文和請(qǐng)求所標(biāo)識(shí)的資源的元信息。元信息也就是實(shí)體內(nèi)容的屬性,包括實(shí)體信息類型、長(zhǎng)度、壓縮方法、最后一次修改時(shí)間等。

Content-Type:用于向接收方指定實(shí)體的介質(zhì)類型。

Content-Encoding:用作媒體類型的修飾符,它的值指示了已經(jīng)被應(yīng)用到實(shí)體正文的附加內(nèi)容編碼,因而要獲得Content-Type報(bào)頭域中所引用的媒體類型,必須采用相應(yīng)的解碼機(jī)制。

Content-Length:用于指明實(shí)體正文的長(zhǎng)度,以字節(jié)方式存儲(chǔ)的十進(jìn)制數(shù)字來(lái)表示。

Last-Modified:用于指示資源的最后修改日期和時(shí)間。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/23302.html

相關(guān)文章

  • 小哥哥,小姐姐,我有一份tcp、http面試指南你要嗎?

    摘要:會(huì)通過(guò)建立起一個(gè)到服務(wù)器的連接通道,當(dāng)本次請(qǐng)求需要的數(shù)據(jù)完畢后,會(huì)立即將連接斷開,這個(gè)過(guò)程是很短的。這三個(gè)部分以作為分隔符。最后一個(gè)消息頭有兩個(gè),用來(lái)表示消息頭部的結(jié)束。但是這并不代表建立在協(xié)議之上的應(yīng)用程序就無(wú)法維持狀態(tài)。 來(lái)來(lái)來(lái) 對(duì),我就是騙你進(jìn)來(lái)的。嘿嘿嘿... 既然來(lái)了就看看再走嘛 作為一個(gè)學(xué)通信出身的前端,說(shuō)道http、tcp什么的,算是到了我的領(lǐng)域了。(我會(huì)告訴你我上課凈睡...

    GitCafe 評(píng)論0 收藏0
  • 1北方更冷的城鎮(zhèn),是你想要的嗎?

    摘要:我笑了笑,我得到了我想要的答案。有強(qiáng)烈的個(gè)人色彩,無(wú)評(píng)價(jià)標(biāo)準(zhǔn)。對(duì)于沒(méi)有經(jīng)驗(yàn)的大學(xué)生,企業(yè)最多考量的就是才干。這些都需要長(zhǎng)期的積累,由內(nèi)而外的自然散發(fā)。很多大學(xué)畢業(yè)生,進(jìn)入職場(chǎng)后發(fā)現(xiàn)實(shí)際情況與預(yù)想的不太一樣。我笑了,你能這么想最好了。 showImg(https://segmentfault.com/img/bV1DoI?w=3500&h=1442); 總有些人有些事似曾相識(shí),我一遍遍的...

    LucasTwilight 評(píng)論0 收藏0
  • 1北方更冷的城鎮(zhèn),是你想要的嗎?

    摘要:我笑了笑,我得到了我想要的答案。有強(qiáng)烈的個(gè)人色彩,無(wú)評(píng)價(jià)標(biāo)準(zhǔn)。對(duì)于沒(méi)有經(jīng)驗(yàn)的大學(xué)生,企業(yè)最多考量的就是才干。這些都需要長(zhǎng)期的積累,由內(nèi)而外的自然散發(fā)。很多大學(xué)畢業(yè)生,進(jìn)入職場(chǎng)后發(fā)現(xiàn)實(shí)際情況與預(yù)想的不太一樣。我笑了,你能這么想最好了。 showImg(https://segmentfault.com/img/bV1DoI?w=3500&h=1442); 總有些人有些事似曾相識(shí),我一遍遍的...

    K_B_Z 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<