1、無記憶的請求,請求結束后不會保留請求的記憶
2、HTTP請求過程
1、建立TCP連接 2、Web瀏覽器向服務器發送請求命令 3、Web瀏覽器發送請求頭信息 4、Web服務器應答 5、Web服務器發送應答頭信息 6、Web服務器想瀏覽器發送數據 7、Web服務器關閉TCP連接
3、HTTP請求
GET請求:一般用於信息獲取
使用url傳遞參數
對發送的信息的數量有限制,一般在2000字符
冪等:每次只是GET,沒有修改服務器上的信息
POST請求:一般用於修改服務器上的資源
對發送的信息的數量無限制
4、HTTP相應
1、數字和文字組成的狀態嗎,顯示請求是成功還是失敗。客戶端不知道請求的成功 2、響應頭:和請求頭一樣包含服務端的信息,如服務器類型,內容類型和長度 3、相應正文
5、HTTP狀態碼
1XX:信息類,表示收到Web瀏覽器的請求,處理中; 2XX:成功:表示用戶請求被正確接收,理解和處理 200 OK 3XX: 重定向:表示請求沒有成功,客戶要采取進一步動作 4XX:客戶端錯誤,表示客戶端提交的請求有錯誤。 404 NOTFound,意味着請求中引用的文檔不存在 5XX:服務器錯誤,表示服務器不能完成對請求的處理 500
6、簡單的例子
request.open('GET','get.php',true); request.send(); request.open('POST','post.php',true); request.send(); request.open('POST','create.php',true); request.setRequestHeader('Context-type','application/x-www-form-urlencoded'); request.send("name=王二狗&sex=男");
//用於提交表單,setRequestHeader放在open和send中
7、XMLHttpRequest取得響應
responseText:獲得字符串形式的響應數據
responseXML:獲得XML形式的響應數據
status和statusText:以數字和文本形式返回HTTP狀態碼
getAllResponseHeader():獲取所有的響應報頭
getResponseHeader():獲取響應中某個字段的值
readyState屬性 0:請求未初始化,open還沒有調用 1:服務器連接已建立,open已經調用了 2:請求已接收,接收到頭信息了 3:請求處理中,接收到響應主體了 4:請求已完成,且響應已就緒,響應完成了
var request = new XMLHttpRequest(); request.open('GET','get.php',true); request.send(); request.onreadyState() = function() { if(request.readyState === 4 && request.status ===200){ //do sth } }