1. 程式人生 > >關於HTTP請求、Ajax請求,請求的同步和非同步

關於HTTP請求、Ajax請求,請求的同步和非同步

使用了很長時間的Ajax請求了,一直都是在以非同步的方式在使用。昨天聽了一個講座涉及到apache server,偶然想到了這Ajax請求和HTTP請求的一些區別和聯絡,就在網上好好搜了一頓,把搜到的結果寫一下,理清一下自己的頭緒吧。

首先最早是沒有Ajax請求的,只有普通的HTTP請求,這個時候傳送一次HTTP請求,Server端就會計算後將資料放在一個HTML網頁上返回來,客戶端需要重新整理網頁,也就是每次請求都重新整理網頁。Ajax請求實現了返回xml或者json資料而不是html,然後支援在html不變情況下動態更新頁面內容而無需重新整理。

這是HTTP和Ajax的區別。

以前我用Ajax只用了非同步請求,就以為他倆的區別除了上述區別,還包括Ajax請求是非同步的,HTTP是同步的,這種誤解當然是錯的。

不管傳統的HTTP請求還是Ajax請求,都有同步和非同步兩種選項。

仍以Ajax請求為例,該請求最終通過JavaScript的XMLHttpRequest傳送,這個請求物件例項化的時候第二個引數可以配置同步或非同步,配置為同步之後會阻塞瀏覽器頁面的執行緒(也可能是程序),返回結果前客戶端不再響應使用者請求。配置為非同步之後不會阻塞瀏覽器執行緒,繼續進行瀏覽器渲染和響應使用者操作,直到response返回後回撥函式處理結果。

最後還要說一點現在普遍使用Ajax的情況下,傳統Http請求主要用於資原始檔的請求。

相關推薦

ajax 的 async 的同步 非同步

async 英語釋義為 “非同步,非同步”。在專案中使用時總是忽略了它的存在。 當 async 是設定為 “true(預設狀態)”,即表示非同步進行,在 $.ajax執行時,也會同時執行$.ajax ->url 中的東西(想當於有兩個執行緒同時進行)。 當 async 是設定

關於HTTP請求Ajax請求請求同步非同步

使用了很長時間的Ajax請求了,一直都是在以非同步的方式在使用。昨天聽了一個講座涉及到apache server,偶然想到了這Ajax請求和HTTP請求的一些區別和聯絡,就在網上好好搜了一頓,把搜到的結果寫一下,理清一下自己的頭緒吧。 首先最早是沒有Ajax請求的,只有普通的HTTP請求,這個時候傳送一次HT

注意ajax同步非同步請求

預設 一般ajax 或者 ajax工具  都是 非同步請求的。 但是 在開發中,使用了一個 開源的 前端ui裡面自帶的ajax工具, 文件寫錯了, 把 非同步請求 和 同步請求的配置引數搞反了。 不小心 設定成了 同步的 ajax, 這可坑爹了,  比如 同步請求

獨立使用zuul閘道器分發不同服務的請求許可權控制非SpringCloud

閘道器api Gateway的重要性不言而喻,閘道器負責統一接收所有請求,然後根據不同的規則進行轉發到不同的服務。使用閘道器能夠統一的管理請求日誌、進行許可權控制、過濾等,這樣就能避免在每個單體應用中做重複的工作。這一篇主要是講zuul的獨立使用,就是隻作為一個獨立的專案進行

HTTP請求同步非同步

    今天看到論文中提到非同步Http請求在並行環境中能夠提高網頁獲取速率,因此上網查找了下相關的資料,分別對同步請求和非同步請求相同數量的urls進行了測試,發現非同步請求url的速率確實比同步快很多,但是不知道在負責的Url請求下非同步效能如何,先放在這裡,之後再好好

關於.Net Core 前後端分離跨域請求ajax並發請求導致部分無法通過驗證解決辦法。

figure mvc control head configure onf light 請求 並發 項目中有這樣一個頁面。頁面加載的時候會同時並發6個ajax請求去後端請求下拉框。 這樣會導致每次都有1~2個“瀏覽器預請求”不通過。 瀏覽器為什麽會自動發送“預請求”?請看以

Web_Http同步非同步請求區別

舉個例子:普通B/S模式(同步)AJAX技術(非同步) 同步:提交請求->等待伺服器處理->處理完畢返回 這個期間客戶端瀏覽器不能幹任何事 非同步: 請求通過事件觸發->伺服器處理(這是瀏覽器仍然可以作其他事情)->處理完畢 同步就是你叫我去吃飯,我

Okhttp之同步非同步請求簡單分析

在讀這篇部落格之前,如果想了解okhttp更多原理,可移步博主的okhttp分類部落格。用過okhttp的應該都瞭解,Okhttp是支援同步和非同步請求的,本篇就就對其原理做一個簡單的梳理。算是加深okhttp的理解。 同步請求使用方式如下: Respo

UI網路筆記(二):UI網路之Post同步非同步的密文請求

一、Post相關內容 1、有同步、非同步的方式; 2、get(明文)瀏覽器裡看,post(密文)把引數變成NSData 3、post可變字串需要兩個: 一個拼接URL+interface req的時候只把URL+interface的字串放進來 一個拼接ke

Ajax同步非同步的區別如何解決跨域問題

同步的概念應該是來自於OS中關於同步的概念:不同程序為協同完成某項工作而在先後次序上調整(通過阻塞,喚醒等方式).同步強調的是順序性.誰先誰後.非同步則不存在這種順序性. 同步:瀏覽器訪問伺服器請求,使用者看得到頁面重新整理,重新發請求,等請求完,頁面重新整理,新內容出現,使用者看到新內容,進行下一步操作。

Ajax同步非同步下拉框 聯動 回顯第二個不能回顯成功

Ajax 的同步和非同步,下拉框 聯動 回顯第二個不能回顯成功 示例: 使用Ajax 實現下拉框聯動 回顯 出現呢只有第一個能夠回顯成功 其餘的都不能正常回顯。 原因 :使用了Ajax的非同步 select的賦值再 非同步之前導致的 ( 賦值前個彈出 可以暫停賦值的執行順序 先載入後賦值 )

mysql sqlserver資料庫實時同步增量同步(指令碼模式)

資料整合(Data Integration)產品提供資料同步服務,有嚮導模式和指令碼模式兩種方式。嚮導模式更簡單,指令碼模式更靈活。 本章介紹如何將Table Store中的增量資料通過資料整合的指令碼模式同步到OpenSearch中。 途徑 資料整合指令碼模式 Reader:OTSStream

曹工雜談:花了兩天時間寫了一個netty實現的http客戶端支援同步非同步連線池(1)--核心邏輯講解

# 背景 先說下寫這個的目的,其實是好奇,dubbo是怎麼實現同步轉非同步的,然後瞭解到,其依賴了請求中攜帶的請求id來完成這個連線複用;然後我又發現,redisson這個redis客戶端,底層也是用的netty,那就比較好奇了:netty是非同步的,上層是同步的,要拿結果的,同時呢,redis協議也不可能

《經濟學通識》七醫患關係毒奶產品質量

我們人類與其他的生物不同,生活在一個廣泛的群體之中。人與人之間緊密聯絡,通過發展與他人的經濟協作,在人際社會中發揮著自身的作用。只有通過我們每個人的親情、友情以及彼此之間的相互需要、相互依賴的作用,才能構成我們所生活的廣泛的人類社會。 但是呢在我們日常的人際交往中,就拿商品交易這個事

關於js的同步非同步個人理解

之前對JS的同步和非同步一直搞不清楚,今天看了些文章,談談自己的理解。 非同步函式往往是有等待性質的函式,主流程在執行到等待的時候,為了提高效率,就把這個函式掛起了,放進一個等待的佇列。接著主程式繼續執行後面的函式。 一直執行到主程式佇列裡的函式執行完畢,這時主程式再去查詢等待佇列裡哪個程式等待

什麼是同步非同步什麼是阻塞非阻塞

同步和非同步是針對應用程式和核心的互動而言的,同步指的是使用者程序觸發IO操作並等待或者輪詢的去檢視IO操作是否就緒,而非同步是指使用者程序觸發IO操作以後便開始做自己的事情,而當IO操作已經完成的時候會得到IO完成的通知。 以銀行取款為例: 同步:自己親自出馬持銀行卡到銀行取錢(使用同

阻塞非阻塞同步非同步

阻塞和非阻塞 阻塞呼叫是指呼叫結果返回之前,呼叫者會進入阻塞狀態等待。只有在得到結果之後才會返回。 非阻塞呼叫是指在不能立刻得到結果之前,該函式不會阻塞當前執行緒,而會立刻返回。   2.同步與非同步 同步和非同步關注的是訊息通訊機制 (synchronous c

談IO中的阻塞非阻塞同步非同步及三種IO模型

什麼是同步和非同步?        燒水,我們都是通過熱水壺來燒水的。在很久之前,科技還沒有這麼發達的時候,如果我們要燒水,需要把水壺放到火爐上,我們通過觀察水壺內的水的沸騰程度來判斷水有沒有燒開。隨著科技的發展,現在市面上的水壺都有了提醒功能,當我們把水壺插電

elasticsearch(一)java 分別使用同步非同步方法進行索引更新操作

一、索引或更新基本步驟 1) 建立與elasticsearch服務進行連線的RestHighLevelClient物件 RestHighLevelClient client = new RestHighLevelClient( Res

類屬性例項屬性靜態方法類方法

類屬性、例項屬性 在瞭解了類基本的東西之後,下面看一下python中這幾個概念的區別 先來談一下類屬性和例項屬性 在前面的例子中我們接觸到的就是例項屬性(物件屬性),顧名思義,類屬性就是類物件所擁有的屬性,它被所有類物件的例項物件所共有,在記憶體中只存在一個副本,這個和C++中類的靜