亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求教如何使用HTTP協議實現自己的HttpResponse,HttpRequest類?

求教如何使用HTTP協議實現自己的HttpResponse,HttpRequest類?

幕布斯6054654 2019-05-24 15:44:29
本人是個PHPer,工作幾年了,HTTP這塊一直是個過不去的坎兒,像是那一大堆狀態碼,一大堆的首部字段等等很多細節,本人完全不知道怎么開始,一直想研究如何使用HTTP協議實現自己的HttpResponse,HttpRequest類?可看了Symfony等一些框架的源碼,發現很細,每個狀態碼,方法都有納入,但我怎么才能知道每個狀態碼都是具體什么意思?總感覺哪怕有一個狀態碼不知道是什么準確意思也過不了自己這關,況且面試也老問,(但好像看了HTTP權威,感覺書上也說的稀里糊涂),symfony也不會就那么稀里糊涂的納入代碼中吧,肯定每個都有其具體用途的求大家給指點該怎么去學這些東西
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

被踩了,才發現題主已經提到了這本書。
題主主要是想了解怎么自己寫Request/Response這些東西的話,其實主要就是在解析下面這個東西:
MethodSPRequest-URISPHTTP-VersionCRLF
*((general-header
|request-header
|entity-header)CRLF)
CRLF
[message-body]
來源:HTTP請求parse流程、RequestLineParser、HttpQueryParameterParser
狀態碼這個東西,其實看看表對應一下就可以了,因為這個是全世界大家一起遵守的。但是頭部這個東西,就不是那么回事了,你可以選擇性得去支持一些頭部,因為HTTP允許你定義一個只有你自己的服務端才會解析的頭部。上面請求體結構中general-header是大多數情況下都是比較常見的、大家都遵守的一些頭部信息。而request-header、entity-header這兩部分就屬于比較自由的地方了,你可以去解析并執行相應的處理,也可以忽略它。
具體到【服務端產出了什么樣的response應該對應哪個狀態碼】、【客戶端傳輸了什么header要求服務端做什么事】、【服務端傳輸了什么header要求客戶端做什么事】這三個問題,常見的情況都可以在《HTTP權威指南》的附錄B、附錄C找到。
原答案:
強烈推薦《HTTP權威指南》一書。
                            
查看完整回答
反對 回復 2019-05-24
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

request和response是http生命周期中的東西,相當于輸入輸出,你可以這樣的思維去應用,將php輸入變量到request,如常見的超全局變量_GET,_POST,_SERVER。
                            
查看完整回答
反對 回復 2019-05-24
  • 2 回答
  • 0 關注
  • 581 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號