協議:雙方或多方一式2份或多份,作出雙方同意的約定的內容
webservice=http+xml
Rest= http +json
Api一般也是上面兩種
其他協議還有:tcp/ip ftp 協議等
涉及到協議的兩個爲客戶端,服務器(apache,ngnix...)
客戶端發送請求,服務器沿着請求返回響應,客戶端收到後解釋爲圖片文字,斷開連接
下方爲打開一頁面的請求和響應信息 (network)(突然覺得這信息量好大)
cmd: telnet ip地址 80 回車
win ctrl + ]
請求格式::
GET (請求方法)文件路徑 HTTP/1.1 1請求行
Host:localhost 2請求頭部信息
(3主體信息 可沒有上面一定要空行)
響應格式::
響應行: 協議版本 狀態碼 狀態文字
響應頭信息: key:value這樣的對應格式
請求方法有很多種:get,post,put,delete,trace,options(全爲大寫)
post的請求怎麼寫
POST 文件路徑 HTTP/1.1
Host:localhost
Content-type:application/x-www-form-urlencoded (服務器才知道需要接收)
Content-length:xx
(自己算好多少個,讓對方知道接收多少)
name=sonia&age=3 (主體信息)
head
和get一樣,但get返回內容,而head不返回
Trace
用代理上網訪問網站(寫在host後面的),trace看這個網站有沒有修改http請求
options
返回服務器是否可用
雖然http協議裏這些方法都有寫入,但不是所有的服務器都支持這些方法
狀態碼
header('Location:http://www.baidu.com');//默認是302重定向
header('Location:http://www.baidu.com',true,301);設定爲301,改爲307-》eg:post的話,可以轉到網頁時保持原有method,因爲默認是get