web瀏覽器通過http請求來獲取伺服器的資料或服務,http請求是一種無狀態連線,用完即關閉,再用需重連線。這麼設計能極大地減輕伺服器壓力。
http請求:
乙個http請求分為以下7個步驟:
1,建立tcp連線
2,瀏覽器向伺服器傳送請求命令
3,瀏覽器想伺服器傳送請求頭資訊
4,伺服器響應
5,伺服器傳送響應頭資訊
6,伺服器向瀏覽器傳送資料
7,伺服器關閉tcp連線
http請求之請求request:
乙個http請求一般由4個部分組成:
1,http請求的方法,常見的有get和post
2,請求的url
3,請求頭資訊,包括一些瀏覽器資訊和使用者身份資訊等
4,請求體,即請求正文,包括一些使用者的查詢資訊,表單資訊等。請求頭和請求體有乙個空行來分開。
以下是乙個請求體示例:
get方法,請求位址,協議版本
以下是請求頭資訊
// 空行斷開請求頭和請求體
以下是請求體資訊
username=admin&pwd=123456
請求方法:
常見的請求方法有get和post,
get一般用於資訊獲取
引數附加在url上,人人可見
引數大小有限制
post
一般用於修改伺服器資源
引數打包傳送,一般不可見
引數大小理論上無限制
http請求之響應response:
乙個http響應一般由3個部分組成:
1,狀態碼,告訴瀏覽器請求成功與否
2,響應頭,和請求頭一樣,包含了一些環境資訊,比如伺服器型別,響應內容型別等
3,響應體,響應正文
以下是乙個響應體示例:
狀態碼http/1.1 200 ok
響應頭date:sun,23 now 2017 10:15:33 gmt
server:apache
content-encoding:gzip
content-length:8548484
connecction:keep-alive
// 空行斷開響應頭和響應體
// 響應體
alert('test')
//例項化xhr物件
xhr.open(method,url,asncy)//傳送:get方法時,不用傳送string或傳送null,post則需要寫入傳送的資料。
xhr.send(string)//eg.
//get:
xhr.open('get','get.php',true)
xhr.send()//post:
xhr.open('post','user.php',true)//post需要在請求頭里指定傳送資料的型別,下面是表單型別
xhr.send('name=hhh&pwd=123456')//監聽狀態變化
xhr.onreadystatechange = function() ,
HTTP狀態返回值
http 301 永久重定向 http 400 請求無效 http 401.1 未授權 登入失敗 http 401.2 未授權 伺服器配置問題導致登入失敗 http 401.3 acl 禁止訪問資源 http 401.4 未授權 授權被篩選器拒絕 http 401.5 未授權 isapi 或 cgi...
常見的http返回值大全
1xx 資訊提示 這些狀態 表示臨時的響應。客戶端在收到常規響應之前,應準備接收乙個或多個 1xx 響應。100 繼續。101 切換協議。2xx 成功 這類狀態 表明伺服器成功地接受了客戶端請求。200 確定。客戶端請求已成功。201 已建立。202 已接受。203 非權威性資訊。204 無內容。2...
HTTP 協議請求返回值解釋
當伺服器響應時,其狀態行的資訊為http的版本號,狀態碼,及解釋狀態碼的簡單說明。現將5類狀態碼詳細列出 客戶方錯誤 100 繼續 101 交換協議 成功 200 ok 201 已建立 202 接收 203 非認證資訊 204 無內容 205 重置內容 206 部分內容 重定向 300 多路選擇 3...