http請(qǐng)求詳解

1.http協(xié)議

? ? HTTP協(xié)議躺彬,它規(guī)定了在網(wǎng)絡(luò)中發(fā)布餐胀,傳輸和接收html頁(yè)面的方法晌块。大家都遵循這個(gè)協(xié)議,就能實(shí)現(xiàn)信息傳輸徊件。

? ? HTTP請(qǐng)求(Request)消息:客服端發(fā)送給服務(wù)器的消息

? ? HTTP響應(yīng)(Response)消息:服務(wù)端返回客戶端的消息

2.http協(xié)議的工作流程

? ? (1)客戶端連接到web服務(wù)器

? ? 一個(gè)HTTP客戶端晤硕,通常是瀏覽器,與web服務(wù)器的HTTP端口(默認(rèn)80)建立一個(gè)TCP套接字連接庇忌,如舞箍,

? http://www.baidu.com

? ? ? ? (2)發(fā)送http請(qǐng)求

? ? ? ?通過(guò)TCP套接字,客戶端向Web服務(wù)器發(fā)送一個(gè)文本的請(qǐng)求報(bào)文皆疹,一個(gè)請(qǐng)求報(bào)文由請(qǐng)求行疏橄、請(qǐng)求頭部、空行和請(qǐng)求數(shù)據(jù)4部分組成略就。

? ? ? ? (3)服務(wù)器接受請(qǐng)求并返回HTTP響應(yīng)

? ? ? ? web服務(wù)器解析請(qǐng)求捎迫,定義請(qǐng)求資源,服務(wù)器講資源復(fù)本寫到TCP套接字表牢,由客戶端讀取窄绒,一個(gè)響應(yīng)由狀態(tài)、響應(yīng)頭部崔兴、空行彰导、和響應(yīng)數(shù)據(jù)組成。

? ? ? ? (4)釋放連接TCP連接

? ? 客戶端和服務(wù)端建立建立連接敲茄,客戶端沿著建立好的連接發(fā)送請(qǐng)求位谋,服務(wù)端返回響應(yīng)消息信息再斷開(kāi)連接。

? ? ? ? (5)客戶端瀏覽器解析HTML內(nèi)容

? ? ? ? 客戶端瀏覽器首先解析狀態(tài)行堰燎,查看表明是否成功的狀態(tài)碼掏父,然后解析每一個(gè)響應(yīng)頭,響應(yīng)頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集秆剪∩奘纾客戶端瀏覽器讀取響應(yīng)數(shù)據(jù)HTML爵政,根據(jù)HTMl語(yǔ)法對(duì)其進(jìn)行格式化,并在瀏覽器窗口顯示陶缺。

? ? ? ? 例如:在瀏覽器地址欄輸入U(xiǎn)RL钾挟,按下回車之后會(huì)經(jīng)歷以下流程:

? ? ? ? 1、瀏覽器向DNS服務(wù)器請(qǐng)求解析該URL中的域名所對(duì)應(yīng)的IP地址组哩;

? ? ? ? 2等龙、解析出IP地址后,根據(jù)該IP地址和默認(rèn)端口80伶贰,和服務(wù)器建立TCP連接蛛砰;

? ? ? ? 3、瀏覽器發(fā)出讀取文件(URL中域名后面部分對(duì)應(yīng)的文件)HTTP請(qǐng)求黍衙,請(qǐng)求該報(bào)文作為TCP三次握手的第三個(gè)報(bào)文數(shù)據(jù)發(fā)送給服務(wù)器泥畅;

? ? ? ? 4、服務(wù)器對(duì)瀏覽器請(qǐng)求作出響應(yīng)琅翻,并把對(duì)應(yīng)的HTML文本發(fā)送給瀏覽器位仁;

? ? ? ? 5、釋放TCP連接方椎;

? ? ? ? 6聂抢、瀏覽器將該HTML文本并顯示內(nèi)容;

3.? ? HTTP請(qǐng)求的狀態(tài)碼

? ? ? ? 1xx? ? 指示信息--表示請(qǐng)求已接收棠众,繼續(xù)處理

? ? ? ? 2xx? ? 成功--表示請(qǐng)求已被成功接收琳疏,理解,接受

? ? ? ? 3xx? ? 重定向--要完成請(qǐng)求必須進(jìn)行更進(jìn)一步操作

? ? ? ? 4xx? ? 客戶端錯(cuò)誤--請(qǐng)求有語(yǔ)法錯(cuò)誤或請(qǐng)求無(wú)法實(shí)現(xiàn)

? ? ? ? 5xx? ? 服務(wù)器端錯(cuò)誤--服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求

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

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

? ? ? ? 400? ? Bad Request? ? 客戶端請(qǐng)求有語(yǔ)法錯(cuò)誤闸拿,不能被服務(wù)器所理解

? ? ? ? 401? ? Unauthorized? ? 請(qǐng)求未經(jīng)授權(quán)空盼,這個(gè)狀態(tài)碼必須和WWW-Authenticate報(bào)頭域一起使用

? ? ? ? 403? ? Forbidden? ? 服務(wù)器收到請(qǐng)求,但是拒絕提供服務(wù)

? ? ? ? 404? ? Not? ? Found? ? 請(qǐng)求資源不存在新荤,輸入了錯(cuò)誤的URL

? ? ? ? 500? ? Internal? ?Server? ? Error? ? 服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤

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

.jQuery 的AJAX請(qǐng)求

? ??$.ajax({

????????????????????type: "GET", //GET/POST/PUT/DELETE/HEAD

????????????????????url: "URL", //請(qǐng)求URL地址

????????????????????data: "k=v"或{k:v} //要提交的請(qǐng)求數(shù)據(jù)

????????????????????beforeSend: fn, //請(qǐng)求發(fā)送之前的回調(diào)函數(shù)

????????????????????success: fn, //響應(yīng)成功的回調(diào)函數(shù)

????????????????????error: fn, //響應(yīng)失敗的回調(diào)函數(shù)

????????????????????complete: fn //響應(yīng)完成的回調(diào)函數(shù),不論成功與失敗

})

????????????????響應(yīng)成功回調(diào)順序:

????????????????????beforeSend => success => complete

????????????????響應(yīng)失敗回調(diào)順序:

????????????????????beforeSend => error => complete苛骨;

4.? ? axios

? ? ? ? axios是一個(gè)基于promise用于瀏覽器和node.js的HTTP客戶端篱瞎;

? ? axios的特點(diǎn):

? ? (1)從瀏覽器中創(chuàng)建 XMLHttpRequest

????(2)從node.js中發(fā)出http請(qǐng)求

? ? (3)支持promise API

? ? (4)攔截請(qǐng)求和響應(yīng)

? ? (5)轉(zhuǎn)換請(qǐng)求和響應(yīng)數(shù)據(jù)

? ? (6)取消請(qǐng)求

? ? (7)自動(dòng)轉(zhuǎn)換json數(shù)據(jù)

? ? (8)客戶端支持防止CSRF/XSRF

? ? ? ? vue中axios的ajax請(qǐng)求:

? ? ? ? ? let axios = require('axios')

? ? axios.type(請(qǐng)求方式)('url',{params:{id:12345}//通過(guò)parmas傳遞進(jìn)來(lái)的參數(shù)}).then(function(response)智袭;

? ? ? ? console.log(response)奔缠;

) .catch(function(error){

console.log(error);

})吼野;

5. 微信小程序的ajax請(qǐng)求

? ? wx.request({

? ? url://路徑

? ? method://請(qǐng)求方式

? ? dataType://? ? 請(qǐng)求數(shù)據(jù)類型

? ? data://傳遞的參數(shù)

? ??header: {

????????????'Content-Type':?'xxxx'

}

? ? success:function(res){

? ??????

}

})

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市两波,隨后出現(xiàn)的幾起案子瞳步,更是在濱河造成了極大的恐慌闷哆,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件单起,死亡現(xiàn)場(chǎng)離奇詭異抱怔,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)嘀倒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門屈留,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人测蘑,你說(shuō)我怎么就攤上這事灌危。” “怎么了碳胳?”我有些...
    開(kāi)封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵勇蝙,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我挨约,道長(zhǎng)味混,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任诫惭,我火速辦了婚禮翁锡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘夕土。我一直安慰自己馆衔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布隘弊。 她就那樣靜靜地躺著哈踱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪梨熙。 梳的紋絲不亂的頭發(fā)上开镣,一...
    開(kāi)封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音咽扇,去河邊找鬼邪财。 笑死,一個(gè)胖子當(dāng)著我的面吹牛质欲,可吹牛的內(nèi)容都是我干的树埠。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼嘶伟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼怎憋!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤绊袋,失蹤者是張志新(化名)和其女友劉穎毕匀,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體癌别,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡皂岔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了展姐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躁垛。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖圾笨,靈堂內(nèi)的尸體忽然破棺而出教馆,到底是詐尸還是另有隱情,我是刑警寧澤墅拭,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布活玲,位于F島的核電站,受9級(jí)特大地震影響谍婉,放射性物質(zhì)發(fā)生泄漏舒憾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一穗熬、第九天 我趴在偏房一處隱蔽的房頂上張望镀迂。 院中可真熱鬧,春花似錦唤蔗、人聲如沸探遵。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)箱季。三九已至,卻和暖如春棍掐,著一層夾襖步出監(jiān)牢的瞬間藏雏,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工作煌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掘殴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓粟誓,卻偏偏與公主長(zhǎng)得像奏寨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鹰服,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 之前在生成簽名包的時(shí)候病瞳,都是直接手動(dòng)使用Android Studio 的Generate Signed APK 進(jìn)...
    Timor閱讀 14,788評(píng)論 3 3
  • 在哈爾濱的一個(gè)學(xué)期又這么過(guò)去了,今天,終于放假了仍源。他早上就準(zhǔn)備好了行李心褐,恨不得馬上回到桂林舔涎,雖然是晚上的車… ...
    anteampro閱讀 213評(píng)論 2 4
  • 長(zhǎng)街的盡頭埋藏著一匣約定 青蔥的記憶里 葉綠碧如玉 花兒紅似鳳冠巾 春意潺潺流淌 在我們嬉鬧的眼波流轉(zhuǎn) 守望的大樹(shù)...
    小小七閱讀 299評(píng)論 7 13
  • 小馬:呵呵笼踩,想想,人和財(cái)都一樣會(huì)面臨不可知的意外亡嫌。未雨綢繆嚎于,下雨前備傘嘛。你還在兼職做嗎挟冠? 哈哈 你覺(jué)悟好高啊 ?...
    九尾喵丿閱讀 127評(píng)論 0 2