1. 程式人生 > >網絡編程相關

網絡編程相關

沒有 客戶端瀏覽器 同一時間 請求 流量 直接 個數 tro 存在

  1. http協議中GET和POST有什麽區別,cookie 和sessions有什麽不同和聯系? 2017音未公司
get是從服務器上獲取數據,post是向服務器發送數據

get相對於post的話不安全,傳輸的數據一般明文顯示在url中,post一般用戶表單的提交,數據通過ssl加密傳輸

get傳送的數據有限制,不能大於2k,post傳輸的數據量大,而且一般不受限制

get雖說安全比較低,post安全性較高,但是執行的速度比post好


cookie的數據是放在客戶端瀏覽器中,sessions是一般數據放在服務器上

cookie不是很安全,別人可以本地的cookie進行欺騙

session會在一定時間內存在服務器上


 httphttps的區別

1.http簡稱超文本傳輸協議端口是80,是一種網絡鏈接傳輸文本協議,https是一種安全超文本傳輸協議端口是443

2.http傳輸信息是以明文顯示;https采用了ssl加密傳輸,信息是加密傳輸

3.http的鏈接是沒有狀態的,(設計之初就是為了瀏覽文本信息的)

4.https協議需要到ca申請證書,一般免費證書很少,需要交費


簡述三次握手和四次揮手?

三次握手:客戶端會發送一個syn的數據包給服務器,稱為第一次握手,服務器收到客戶端的數據包後,會相應的產生一個ack的數據包發送給客戶端,此為第二次握手,客戶端收到後,會將ack的值再次返回給服務器,此為第三次握手

四次揮手:客戶端第三次握手,會把發送2個數據包,一個通知包,一個數據包,服務器收到數據包後(代表三次握手完成),會發送2個包,一個通知包,一個數據包,客戶端收到數據後,會自動調用close方法,給服務器發送一個通知包,服務器收到後會給客戶端發送2個包,一個通知包,一個數據包(即告訴客戶端服務器也close了),客戶端收到後,會給服務器發送一個通知包,告訴服務器收到了


TCP/UDP比較

面向連接(確認有創建三方交握,連接已創建才作傳輸。)

有序數據傳輸

重發丟失的數據包

舍棄重復的數據包

無差錯的數據傳輸

阻塞/流量控制


TCP的實現流程

 客戶端發起請求給DNS域名解析服務器,DNS會將請求的url轉換為具體的IP地址,發送給服務器,如果向服務器請求的資源是靜態資源比如說html/css/js/jpg等這些,服務器會直接返回內容給客戶端,如果是動態資源,服務器會根據內容查詢數據庫中的數據,並且將查詢的結果返回到服務器,服務器在將內容以及狀態ma返回給客戶端


為什麽Python中有了GIL還要有同步互斥鎖?

首先明確一點GIL是全局解釋器鎖,控制python中線程間的調用,保證同一時間片下每次只有一個線程在運行,保護內核的共享資源,線程的同步和互斥解決的是線程間數據的訪問正確性問題,這是2個問題




網絡編程相關