socket連線和http連線的區別:
**以http://開頭都是http協議傳輸到你的瀏覽器的, 而http是基於socket之上的. socket是一套完成tcp, udp協議的介面.
http協議: 簡單物件訪問協議, 對於應用層, http協議是基於tcp連線的.
tcp協議: 對應於傳輸層
ip協議: 對應於網路層
tcp/ ip是傳輸層協議, 主要解決資料如何在網路中傳輸; 而http是應用層協議, 主要解決如何包裝資料.
socket是對tcp/ip協議的封裝, socket本身並不是協議, 而是乙個呼叫介面(api), 通過socket, 我們才能使用tcp/ip協議.
http連線: http連線就是所謂的短連線, 即客戶向伺服器端傳送一次請求, 伺服器端相應後連線即會斷掉
socket連線: socket連線就是所謂的長連線, 理論上客戶端和伺服器端一旦建立起連線將不會主動斷掉; 但是由於各種環境因素可能會使連線斷開, 比如說: 伺服器端或者客戶端主機down了, 網路故障, 或者兩者之間長時間沒有資料傳輸, 網路防火牆可能會斷開該連線以釋放網路資源. 所以當乙個socket連線中沒有資料的傳輸, 那麼為了維持連線需要傳送心跳訊息, 具體心跳訊息格式是開發者自己定義的.
面試題 五道面試題五
判斷出棧順序的正確性 假設每個相同元素只出現一次 include include include include using namespace std class istruesack istruesack if str2 null public bool istrue const char pu...
面試題解 五 之聯想筆試題
設計函式 int atoi char s include include int main void int atoi const char s return symbol 1 v v gcc gcc 3.2.2 20030222 red hat linux 3.2.2 5 執行過程 explove...
2019 面試題(五)
1.在面試的過程中經常出現的一道面試題是,將 123456789241234214 進行千位分隔符進行分割,個人總結如下,若有未判斷到的漏洞,請不吝賜教。function getstr str 判斷是否有小數點 num substr count str,str d if num 0 num 2 nu...