webservice = http協議+xml
rest = http協議 + json
各種api 也一般是用http + xml/json 來實現的
做採集小偷站, 或者學習ajax 也要了解http 協議
計算機中的協議和現實中的協議是一樣的, 一式雙份或者多份
雙方都遵循乙個規範,這個規範就可以稱之為協議
ftp http stmp pop tcp/ip 協議
http 請求資訊和響應資訊的格式
請求行
請求方法
get
post
head
和 get 基本一樣, 只是不會返回內容(一般用作判斷乙個檔案是否存在使用比如:判斷乙個是 否還在服務伺服器上,你只需要返回乙個bool值就可以了)
putdelete
trace
是你使用了
**上網,比如用
**訪問www.163.com 你想看看
**有沒有修改你的http請求,可以使用trace來測試一下,163.com的伺服器會把最後收到的請求返回給你。
options
是返回伺服器可用的請求方法
請求路徑
請求協議
請求頭資訊
請求主題資訊
圖形分析:
http 協議必須至鞥瀏覽器來傳送嗎? 不是的,http是一種協議,只要滿足這種協議就可以傳送
下面就利用telnet 傳送乙個請求:
連敲兩下回車
回車 在 回車
i/o
cpu浮點運算
大訪問量
cdn(把放到全國的各個cdn節點)
將多個http請求(js/css/img)合成乙個keepalive
回車 在 回車
******************************=請求結束******************************====
******************************=響應資訊******************************====
1. 狀態碼, 狀態文字
狀態碼系列:
1xx資訊接收請求, 繼續處理
2xx成功
操作成功的收到, 理解和接收
3xx重定向
為了完成請求, 必須採取進一步措施
4xx客戶端錯誤
請求的語法有錯誤或不能完成被滿足
5xx伺服器錯誤
伺服器無法完成顯示有效的請求
200 成功
302/301 永久/臨時重定向
header('location:'); 302
header('location:', true, 301); 301
true 引數意用301資訊替換原來的頭資訊
引發的思考:
a.php post提交資訊到 b.php 然後b.php做乙個重定向 到c.php 那麼請問c.php能不能接收到post請求的資料呢? 改用什麼重定向呢?答案:307
304 not modified 為修改 說明讀取的是快取
失敗的狀態碼:
404 請求的網頁不存在
503 伺服器暫時不可用
500 伺服器內部錯誤
HTTP協議筆記
http協議是基於tcp協議的上層應用協議 特點1無連線 每次連線只處理乙個請求,處理完即斷開連線 特點2無狀態 每次連線需要的資訊都要重傳 restful 一種流行的網際網路軟體設計架構 含義是資源表現層狀態轉化,包括三部分 1.定義直觀簡短的資源位址uri 應當是名詞,動作放到引數裡 2.定義傳...
HTTP協議筆記
http協議是基於tcp協議的上層應用協議 特點1無連線 每次連線只處理乙個請求,處理完即斷開連線 特點2無狀態 每次連線需要的資訊都要重傳 restful 一種流行的網際網路軟體設計架構 含義是資源表現層狀態轉化,包括三部分 1.定義直觀簡短的資源位址uri 應當是名詞,動作放到引數裡 2.定義傳...
http協議筆記
http的七層模型 網路服務與終端使用者的乙個介面。協議有 表示層 presentation layer 資料的表示 安全 壓縮。在五層模型裡面已經合併到了應用層 格式有,jpeg ascll decoic 加密格式等 會話層 session layer 建立 管理 終止會話。在五層模型裡面已經合併...