2019-07-05 單進(jìn)程單線程多任務(wù)非阻塞,長(zhǎng)短連接,前端與后臺(tái)交互的數(shù)據(jù)格式,前端與后臺(tái)的交互原理,前端請(qǐng)求參數(shù)的形式

單進(jìn)程單線程多任務(wù)非阻塞

tcp_server_socket.setblocking(False)??? 設(shè)置套接字為非阻塞的方式

retv_data?? 對(duì)方發(fā)送過(guò)來(lái)數(shù)據(jù)

Type:套接字類(lèi)型,可以是SOCK_STREAM(流式套接字,主要用于TCP協(xié)議)或者SOCK_DGRAM(數(shù)據(jù)報(bào)套接字,主要用于UDP協(xié)議)

tcp_server_socket.setsocket(socket.SOL_SOCKET,socket.SO_REQUEADDR,1) 這個(gè)語(yǔ)句可以讓服務(wù)器的端口重復(fù)利用,避免出現(xiàn)服務(wù)器先發(fā)出關(guān)閉請(qǐng)求后 短時(shí)在連接服務(wù)器出現(xiàn)的端口被占用的錯(cuò)誤服務(wù)器中一切的外鏈資源:CSS js 圖片,視頻等都會(huì)重新發(fā)起請(qǐng)求;最后1的作用是結(jié)束后立即釋放端口。

長(zhǎng)短連接

?HTTP1.1規(guī)定了默認(rèn)保持長(zhǎng)連接(HTTP persistent connection ,也有翻譯為持久連接),數(shù)據(jù)傳輸完成了保持TCP連接不斷開(kāi)(不發(fā)RST包、不四次握手),等待在同域名下繼續(xù)用這個(gè)通道傳輸數(shù)據(jù);相反的就是短連接。

長(zhǎng)連接并不是永久連接的。如果一段時(shí)間內(nèi)(具體的時(shí)間長(zhǎng)短,是可以在header當(dāng)中進(jìn)行設(shè)置的,也就是所謂的超時(shí)時(shí)間),這個(gè)連接沒(méi)有HTTP請(qǐng)求發(fā)出的話,那么這個(gè)長(zhǎng)連接就會(huì)被斷掉。長(zhǎng)連接的話,那么這么多次HTTP請(qǐng)求(這些請(qǐng)求包括請(qǐng)求網(wǎng)頁(yè)內(nèi)容,CSS文件,JS文件,圖片等等),其實(shí)使用的都是一個(gè)TCP連接,很顯然是可以節(jié)省很多消耗的。長(zhǎng)連接情況下,多個(gè)HTTP請(qǐng)求可以復(fù)用同一個(gè)TCP連接,這就節(jié)省了很多TCP連接建立和斷開(kāi)的消耗。

短連接比如你請(qǐng)求一個(gè)網(wǎng)頁(yè),這個(gè)網(wǎng)頁(yè)里肯定還包含了CSS、JS等等一系列資源,如果你是短連接(也就是每次都要重新建立TCP連接)的話,那你每打開(kāi)一個(gè)網(wǎng)頁(yè),基本要建立幾個(gè)甚至幾十個(gè)TCP連接,這太浪費(fèi)資源。

前端與后臺(tái)交互的數(shù)據(jù)格式

主要是JSON,XML現(xiàn)在用的不多

JSON 通常用于與服務(wù)端交換數(shù)據(jù)。

在接收服務(wù)器數(shù)據(jù)時(shí)一般是字符串。

我們可以使用 JSON.parse() 方法將數(shù)據(jù)轉(zhuǎn)換為 JavaScript 對(duì)象。

前端與后臺(tái)的交互原理

關(guān)注點(diǎn):接口地址、前端請(qǐng)求的參數(shù)、后端返回的參數(shù)。

調(diào)一下接口,看一下返回的數(shù)據(jù)。

前端請(qǐng)求參數(shù)的形式

GET和POST兩種方式

GET從指定的服務(wù)器中獲取數(shù)據(jù),POST提交數(shù)據(jù)給指定的服務(wù)器處理

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 網(wǎng)絡(luò)編程 一.楔子 你現(xiàn)在已經(jīng)學(xué)會(huì)了寫(xiě)python代碼,假如你寫(xiě)了兩個(gè)python文件a.py和b.py,分別去運(yùn)...
    go以恒閱讀 2,248評(píng)論 0 6
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類(lèi)型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,666評(píng)論 1 32
  • 轉(zhuǎn)。。。。。。。。 SOCKET,TCP/UDP,HTTP,FTP (一)TCP/UDP,SOCKET,HTTP,...
    zeqinjie閱讀 3,386評(píng)論 1 53
  • 文章首發(fā)于個(gè)人blog歡迎指正補(bǔ)充,可聯(lián)系lionsom_lin@qq.com原文地址:《網(wǎng)絡(luò)是怎樣連接的》閱讀整...
    Lucus_Linx閱讀 14,463評(píng)論 6 31
  • 還有37天就要過(guò)年咯!過(guò)完年,你就要三十了,想想都有點(diǎn)擔(dān)憂,時(shí)間怎么快呢?而我還沒(méi)有找到對(duì)象,似乎都有點(diǎn)不敢回家過(guò)...
    毛豆豆喲閱讀 238評(píng)論 5 2

友情鏈接更多精彩內(nèi)容