PHP對(duì)于不同的Content-Type取值的處理方式

HTTP協(xié)議 (Hyper Text Transfer Protocol)

HTTP是一個(gè)基于TCP/IP通信協(xié)議來(lái)傳遞數(shù)據(jù)掘宪,包括html文件、圖像、結(jié)果等猎物,即是一個(gè)客戶端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)秆吵。

HTTP協(xié)議特點(diǎn)

  • http無(wú)連接:限制每次連接只處理一個(gè)請(qǐng)求淮椰,服務(wù)端完成客戶端的請(qǐng)求后,即斷開(kāi)連接纳寂。(傳輸速度快主穗,減少不必要的連接,但也意味著每一次訪問(wèn)都要建立一次連接毙芜,效率降低)
  • http無(wú)狀態(tài):對(duì)于事務(wù)處理沒(méi)有記憶能力忽媒。每一次請(qǐng)求都是獨(dú)立的,不記錄客戶端任何行為腋粥。(優(yōu)點(diǎn)解放服務(wù)器晦雨,但可能每次請(qǐng)求會(huì)傳輸大量重復(fù)的內(nèi)容信息)
  • 客戶端/服務(wù)端模型:客戶端支持web瀏覽器或其他任何客戶端,服務(wù)器通常是nginx或者apache等
  • 簡(jiǎn)單快速
  • 靈活:可以傳輸任何類型的數(shù)據(jù)

一次HTTP請(qǐng)求過(guò)程

域名 =》DNS域名解析 =》TCP三次握手建立連接 =》傳輸http報(bào)文 =》四次揮手?jǐn)嚅_(kāi)連接

TCP三次握手過(guò)程
  • 第一次握手客戶端需要發(fā)送一個(gè)syn=1告訴服務(wù)端需要聯(lián)機(jī)隘冲,并且會(huì)同時(shí)發(fā)送一個(gè)隨機(jī)生成的順序號(hào)碼(seq)闹瞧。
  • 第二次握手由服務(wù)端發(fā)起,服務(wù)端需要回復(fù)客戶端一個(gè)確認(rèn)ACK展辞,這個(gè)值為第一次客戶端生成的順序號(hào)碼加1奥邮,另外也生成一個(gè)隨機(jī)順序號(hào)碼給到客戶端。
  • 第三次握手由客戶端收到第二次握手的消息后罗珍,回復(fù)服務(wù)端一個(gè)確認(rèn)消息ACK洽腺,這個(gè)值為服務(wù)端的順序號(hào)碼加1,也會(huì)發(fā)送一個(gè)seq覆旱。

第一次握手已脓,是客戶端需要確認(rèn)自己發(fā)消息沒(méi)問(wèn)題,服務(wù)端收到消息以后證明自己收消息沒(méi)問(wèn)題通殃,這時(shí)他還需要證明自己發(fā)消息沒(méi)問(wèn)題所以他發(fā)起第二次握手度液。
客戶端收到第二次握手的消息后確認(rèn)了自己的發(fā)消息和收消息都沒(méi)問(wèn)題厕宗,但這時(shí)候服務(wù)端只知道自己收消息沒(méi)有問(wèn)題,他第二次發(fā)出的消息他并不知道客戶端是否成功接收了堕担。
所以有了第三次握手已慢,告訴服務(wù)端我收到了,你發(fā)消息沒(méi)問(wèn)題霹购。這時(shí)佑惠,就證明了客戶端和服務(wù)端雙方的收發(fā)都沒(méi)有問(wèn)題。

HTTP請(qǐng)求報(bào)文

一個(gè)HTTP請(qǐng)求報(bào)文由請(qǐng)求行(request line)齐疙、請(qǐng)求頭部(header)和請(qǐng)求體(body)組成膜楷。

  • 請(qǐng)求行:請(qǐng)求方法、請(qǐng)求地址和協(xié)議版本
  • 請(qǐng)求頭:主要說(shuō)Content-Type(請(qǐng)求的與實(shí)體對(duì)應(yīng)的MIME信息)
    • 常見(jiàn)取值 :
      application/x-www-form-urlencoded (使用jquery發(fā)送ajax請(qǐng)求會(huì)默認(rèn)類型)
      application/json
      multipart/form-data (傳輸文件固定類型)
    • 后端如何接收:(PHP)
      取值為application/x-www-data-urlencoded情況下$_POST 和 php://input均有值贞奋。
      取值為 application/json 時(shí)$_POST無(wú)值赌厅。
      取值為multipart/form-data 時(shí)php://input無(wú)值。此時(shí)應(yīng)該用$_POST來(lái)獲取字段轿塔,$_FILES 來(lái)獲取上傳的文件信息
  • 請(qǐng)求體:
    • 常見(jiàn)類型 :
      application/x-www-form-urlencoded :a=1&b=2
      application/json :"{"a":1,"b":2}"

HTTP響應(yīng)報(bào)文

HTTP響應(yīng)報(bào)文主要由狀態(tài)行特愿、響應(yīng)頭、及響應(yīng)數(shù)據(jù)組成勾缭。

  • 狀態(tài)行:協(xié)議版本揍障,狀態(tài)碼,狀態(tài)碼描述俩由。
  • 響應(yīng)頭:主要說(shuō)Content-Type
    • 常見(jiàn)值 :
      text/html : HTML格式
      text/plain :純文本格式
      text/xml : XML格式
      image/gif :gif圖片格式
      image/jpeg :jpg圖片格式
      image/png:png圖片格式

四次揮手?jǐn)嚅_(kāi)

通過(guò)前面毒嫡,我們已經(jīng)知道ACK是用來(lái)應(yīng)答的,SYN是用來(lái)代表連接的幻梯。而這里的FIN報(bào)文就是代表斷開(kāi)連接的审胚,當(dāng)主動(dòng)方?jīng)]有數(shù)據(jù)再需要傳輸給對(duì)方時(shí),會(huì)向?qū)Ψ桨l(fā)起FIN報(bào)文礼旅,但這時(shí)候被動(dòng)方不會(huì)立馬斷開(kāi)連接,他只會(huì)回復(fù)一個(gè)ACK告訴主動(dòng)方你發(fā)的FIN報(bào)文我收到了洽洁,很可能不會(huì)立馬關(guān)閉痘系,因?yàn)樗赡苓€沒(méi)處理完請(qǐng)求,可能還有消息需要發(fā)送饿自,這時(shí)主動(dòng)方進(jìn)入FIN_WAIT_2狀態(tài)汰翠。等被動(dòng)發(fā)也沒(méi)有消息需要發(fā)送了,這時(shí)候才會(huì)也發(fā)一個(gè)FIN給主動(dòng)方昭雌,主動(dòng)方回復(fù)以后复唤,連接斷開(kāi)。

COOKIE

Http 協(xié)議中引入了 cookie 技術(shù)烛卧,用來(lái)解決 http 協(xié)議無(wú)狀態(tài)的問(wèn)題佛纫。通過(guò)在請(qǐng)求和響應(yīng)報(bào)文中寫(xiě)入 Cookie 信息來(lái)控制客戶端的狀態(tài)妓局;Cookie會(huì)根據(jù)從服務(wù)器端發(fā)送的響應(yīng)報(bào)文內(nèi)的一個(gè)叫做 Set-Cookie 的首部字段信息,通知客戶端保存 Cookie呈宇。當(dāng)下次客戶端再往該服務(wù)器發(fā)送請(qǐng)求時(shí)好爬,客戶端會(huì)自動(dòng)在請(qǐng)求報(bào)文中加入 Cookie 值后發(fā)送出去。后端以 session 這樣的機(jī)制來(lái)保存服務(wù)端的對(duì)象狀態(tài)甥啄。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末存炮,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蜈漓,更是在濱河造成了極大的恐慌穆桂,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件融虽,死亡現(xiàn)場(chǎng)離奇詭異享完,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)衣形,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門驼侠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人谆吴,你說(shuō)我怎么就攤上這事倒源。” “怎么了句狼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵笋熬,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我腻菇,道長(zhǎng)胳螟,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任筹吐,我火速辦了婚禮糖耸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘丘薛。我一直安慰自己嘉竟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布洋侨。 她就那樣靜靜地躺著舍扰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪希坚。 梳的紋絲不亂的頭發(fā)上边苹,一...
    開(kāi)封第一講書(shū)人閱讀 51,708評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音裁僧,去河邊找鬼个束。 笑死慕购,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的播急。 我是一名探鬼主播脓钾,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼桩警!你這毒婦竟也來(lái)了可训?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤捶枢,失蹤者是張志新(化名)和其女友劉穎握截,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體烂叔,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谨胞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蒜鸡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胯努。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖逢防,靈堂內(nèi)的尸體忽然破棺而出叶沛,到底是詐尸還是另有隱情,我是刑警寧澤忘朝,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布灰署,位于F島的核電站,受9級(jí)特大地震影響局嘁,放射性物質(zhì)發(fā)生泄漏溉箕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一悦昵、第九天 我趴在偏房一處隱蔽的房頂上張望肴茄。 院中可真熱鬧,春花似錦但指、人聲如沸寡痰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至谓谦,卻和暖如春贫橙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背反粥。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工卢肃, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疲迂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓莫湘,卻偏偏與公主長(zhǎng)得像尤蒿,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子幅垮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

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

  • HTTP協(xié)議 在 OSI 七層模型中腰池,HTTP 協(xié)議位于最頂層的應(yīng)用層中。通過(guò)瀏覽器訪問(wèn)網(wǎng)頁(yè)就直接使用了 HTTP...
    WendySays閱讀 773評(píng)論 0 1
  • 1忙芒、TCP狀態(tài)linux查看tcp的狀態(tài)命令:1)示弓、netstat -nat 查看TCP各個(gè)狀態(tài)的數(shù)量2)、lso...
    北辰青閱讀 9,427評(píng)論 0 11
  • 一.HTTP HTTP是超文本傳輸協(xié)議 1.請(qǐng)求報(bào)文的格式 請(qǐng)求行:方法(get呵萨、post)奏属、url(請(qǐng)求的地址)...
    蔚尼閱讀 668評(píng)論 0 2
  • 隨著年歲漸長(zhǎng),人總會(huì)對(duì)一些事物慢慢感到厭倦潮峦,去年囱皿,我就厭倦了微博,絕少訪問(wèn)過(guò)它忱嘹。今年嘱腥,我準(zhǔn)備和一切促銷活動(dòng)說(shuō)再見(jiàn)。...
    劉淼閱讀 1,221評(píng)論 3 29
  • 21天靜心挑戰(zhàn)營(yíng)第二十天 今天三個(gè)人一起律動(dòng)靜心德谅,站樁爹橱,跳舞,很開(kāi)心窄做,用伴奏曲跳感覺(jué)更投入愧驱。昨晚朋友聚會(huì)聊天兩點(diǎn)多...
    汪景芳閱讀 197評(píng)論 0 0