文章出處

關于ajax
ajax是異步的JavaScript和XML,優點是無刷新的與后臺通信并獲取數據,只更改頁面中需要更改的部分,而不是刷新整個頁面,減少無意義的數據傳輸,提高了效率和用戶體驗。

HTTP請求過程

1、建立TCP連接
2、Web瀏覽器向服務器發送請求命令
3、Web瀏覽器發送請求頭信息
4、Web服務器應答
5、Web服務器發送應答頭信息
6、Web服務器想瀏覽器發送數據
7、Web服務器關閉TCP連接
*TCP:Transmission Control Protocol 傳輸控制協議

HTTP請求

GET請求:一般用于信息獲取
        使用url傳遞參數
        對發送的信息的數量有限制,一般在2000字符
        冪等:每次只是GET,沒有修改服務器上的信息     

POST請求:一般用于修改服務器上的資源
         對發送的信息的數量無限制

與 POST 相比,GET 更簡單也更快,并且在大部分情況下都能用。

然而,在以下情況中,請使用 POST 請求:

  • 無法使用緩存文件(更新服務器上的文件或數據庫)
  • 向服務器發送大量數據(POST 沒有數據量限制)
  • 發送包含未知字符的用戶輸入時,POST 比 GET 更穩定也更可靠

HTTP響應

1、數字和文字組成的狀態嗎,顯示請求是成功還是失敗。客戶端不知道請求的成功
2、響應頭:和請求頭一樣包含服務端的信息,如服務器類型,內容類型和長度
3、響應正文

HTTP狀態碼

1XX:信息類,表示收到Web瀏覽器的請求,處理中;
2XX:成功:表示用戶請求被正確接收,理解和處理  200 OK
3XX: 重定向:表示請求沒有成功,客戶要采取進一步動作
4XX:客戶端錯誤,表示客戶端提交的請求有錯誤。 404 NOTFound,意味著請求中引用的文檔不存在    
5XX:服務器錯誤,表示服務器不能完成對請求的處理  500

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 } }

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()