HTTP協議

HTTP請求: http是計算機通過網絡進行通信的規則
無狀態協議: 不建立一種持久的連接,服務端不保留連接的相關信息,沒有記憶(cookie)


一個完整的HTTP請求過程(七個步驟):
1. 建立TCP連接
2. web瀏覽器向web服務器發送請求命令
3. web瀏覽器發送請求頭信息
4. web服務器應答
5. web服務器發送應答頭信息
6. web服務器向瀏覽器發送數據
7. web服務器關閉TCP連接


一個HTTP請求由四個部分組成:
1. HTTP請求的方法或者動作,比如GET / POST
2. 正在請求的URL,總得知道請求的地址吧
3. 請求頭,包含一些客戶端環境信息
4. 請求體,也就是請求正文,包含客戶提交的查詢字符串信息,表單信息


GET /POST 請求區別
GET:請求一般用於獲取信息,用於查詢,用URL來傳遞參數,數量有限制
POST:一般用於修改服務器資源,發送表單數據,數量無限制


GET 請求是冪等的,解釋:執行1次和執行10000次 影響是相同的,所以說GET方法是安全的




一個HTTP響應由三部分組成:
1. 一個數組和文字組成的狀態碼,包含請求是成功還是失敗
2. 響應頭,如服務器類型,日期時間,內容類型,長度等
3. 響應體,也就是響應正文


響應狀態碼:
1XX: 信息類,表示收到web瀏覽器請求,正在進一步處理
2XX:成功,表示用戶請求被進一步接受
3XX:重定向
4XX: 客戶端錯誤,表示客戶端提交的請求有錯誤
5XX:服務器錯誤,表示服務器不能完成對請求的處理,eg500








readyState屬性:
0:請求未初始化,open還沒有調用
1:服務器連接已經建立,open已經調用
2:請求已經接收,也就是接受到了頭信息
3:請求處理中,也就是接受到響應主體
4:請求已完成,且響應已就緒,也就是響應完成了








JSON: 文本數據交互格式,易於人的閱讀和編寫,同時也易於機器解析和生成
json 長度短小,讀寫速度更快,而且可以用JavaScript進行解析,轉換成javascript對象,很方便


JSON 解析方法:
var jsondata = '{"name":"ilv"}'; 
var jsonobj = eval('('+jsondata+')');
var jsonobj2 = JSON.parse(jsondata);


eval 很危險,有可能會包含惡意
var jsondata = '{"name":alert('bug')}';
var jsonobj = eval('('+jsondata+')') ;
// 會執行alert,所以要用JSON.parse()


//jsonlint 在線json校驗工具推薦
發佈了91 篇原創文章 · 獲贊 6 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章