短連線
#連接->傳輸資料->關閉連線
例如HTTP是無狀態的的短鏈接,瀏覽器和伺服器每進行一次HTTP操作,就建立一次連接,但任務結束就中斷連接。
socket.close方法->client接收response封包->client最後會收到server端斷開TCP連接的訊號->client 端斷開TCP連接,具體就是呼叫close方法。 (推薦學習:PHP程式設計從入門到精通)
也可以這樣說:短連線是指SOCKET連線後,發送接收完資料後馬上斷開連線。
因為連線後接收了資料就斷了,所以每次資料接受處理不會有連結。這也是HTTP協定無狀態的原因之一。
長連線
連線->傳輸資料->保持連線-> 傳輸資料-> ........... ->直到一方關閉連接,多是客戶端關閉連線。
長連接指建立SOCKET連接後不管是否使用都保持連接,但安全性較差。
HTTP在短連結和長連線上的選擇:
HTTP是無狀態的,也就是說,瀏覽器和伺服器每進行一次HTTP操作,就建立一次連接,但任務結束就中斷連線。如果用戶端瀏覽器存取的某個HTML或其他類型的Web頁面中包含有其他的Web資源,如JavaScript檔案、影像檔案、CSS檔案等;當瀏覽器每遇到這樣一個Web資源,就會建立一個HTTP會話
HTTP1.1和HTTP1.0相比較而言,最大的差異就是增加了持久連線支援(看似最新的HTTP1.1 可以顯示的指定keep-alive),但還是無狀態的,或者說是不可以信任的。
如果瀏覽器或伺服器在其頭訊息加入了這行程式碼Connection:keep-alive
TCP連線在發送後將仍然保持開啟狀態,於是,瀏覽器可以繼續通過相同的連線發送請求。保持連線節省了為每個請求建立新連線所需的時間,也節省了頻寬。
實作長連線要客戶端和服務端都支援長連線。
什麼時候用長連接,短連接?
長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多狀況。 每個TCP連接都需要三步握手,這需要時間,如果每個操作都是先連接,再操作的話那麼處理速度會降低很多,所以每個操作完後都不斷開,次處理時直接發送資料包就OK了,不用建立TCP連線。
例如:資料庫的連接用長連接, 如果用短連接頻繁的通訊會造成socket錯誤,而且頻繁的socket 創建也是對資源的浪費。
而像WEB網站的http服務一般都用短鏈接,因為長連接對於服務端來說會耗費一定的資源,而像WEB網站這麼頻繁的成千上萬甚至上億客戶端的連接用短連接會更省一些資源,如果用長連接,而且同時有成千上萬的用戶,如果每個用戶都佔用一個連接的話,那可想而知吧。所以並發量大,但每個使用者無需頻繁操作情況下需用短連好。
總之,長連接和短連接的選擇要視情況而定。
具體網路中的應用程式的話:
http 1.0一般就指短连接,smtp,pop3,telnet这种就可以认为是长连接。一般的网络游戏应用都是长连接
以上是php長連接和短連接的使用場景的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),