1、http和https
http(hypertext transfer protocol):稱為超文字傳輸協議,是乙個基於 tcp/ip 通訊協議來傳遞資料,乙個屬於應用層的協議瀏覽器作為 http 客戶端通過 url 向 http 服務端即 web 伺服器傳送所有請求。web 服 務器根據接收到的請求後,向客戶端傳送響應資訊。
http協議是無狀態的協議。一旦資料交換完畢,客戶端與伺服器端的連線就會關閉,再次交換資料需要建立新的連線。
https(hypertext transfer protocol over secure socket layer)http 的安全版,在 http 下加入 ssl 層。ssl(secure sockets layer 安全套接層)主要用於 web 的安全傳輸協議,在傳輸層對網 絡連線進行加密,保障在 internet 上資料傳輸的安全。
2、session和cookies
http是短連線,無法保持回話跟蹤,session和cookie都可以用來保持回話跟蹤
cookie實際上是一小段的文字資訊。客戶端請求伺服器,如果伺服器需要記錄該使用者狀態,就使用response向客戶端瀏覽器頒發乙個cookie。客戶端會把cookie儲存起來。 當瀏覽器再請求該**時,瀏覽器把請求的**連同該cookie一同提交給伺服器。伺服器檢查該cookie,以此來辨認使用者狀態。伺服器還可以根據需要修改cookie的內容。
若不設定過期時間,則表示這個cookie的生命期為瀏覽器會話期間,關閉瀏覽器視窗,cookie就消失。這種生命期為瀏覽器會話期的cookie被稱為會話cookie。會話cookie一般不儲存在硬碟上而是儲存在記憶體裡,當然這種行為並不是規範規定的。
若設定了過期時間,瀏覽器就會把cookie儲存到硬碟上,關閉後再次開啟瀏覽器,這些cookie仍然有效直到超過設定的過期時間。儲存在硬碟上的cookie可以在瀏覽器的不同程序間共享。這種稱為持久cookie。
session是另一種記錄客戶狀態的機制,不同的是cookie儲存在客戶端瀏覽器中,而session儲存在伺服器上。客戶端瀏覽器訪問伺服器的時候,伺服器把客戶端資訊以某種形式記。 在伺服器上。這就是session。客戶端瀏覽器再次訪問時只需要從該session中查詢該客戶的狀態就可以了
(1)、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。
(2)、cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,考慮到安全應當使用session。
(3)、session會在一定時間內儲存在伺服器上。當訪問增多,會比較占用你伺服器的效能,考慮到減輕伺服器效能方面,應當使用cookie。
(4)、單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie。
(5)、可以考慮將登陸資訊等重要資訊存放為session,其他資訊如果需要保留,可以放在cookie中。
3、長連線和短連線
短連線
連線->傳輸資料->關閉連線
比如http是無狀態的的短鏈結,瀏覽器和伺服器每進行一次http操作,就建立一次連線,但任務結束就中斷連線
連線->傳輸資料->保持連線 -> 傳輸資料-> ………..->直到一方關閉連線,多是客戶端關閉連線。 長連線指建立socket連線後不管是否使用都保持連線,但安全性較差。
長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多情況,。每個tcp連線都需要三步握手,這需要時間,如果每個操作都是先連線,再操作的話那麼處理速度會降低很多
4、get和post
網路相關知識
tcp ip模型分為 應用層 傳輸層 網路層 物理層。這個模型為常用模型,網路資料傳輸時在傳送端資料通過層層包裝,從應用層到物理層,最後形成的包傳送給接收端,接收端拿到原始資料報後再從物理層到應用層層層解析,最後得到傳送端傳送的真正資料。物理層主要對映的是網絡卡的mac位址。網路層主要對映的是物理i...
網路相關知識
osi七層架構 與tcp ip四層架構 應用層 應用層 表示層 傳輸層 會話層 網路層 傳輸層 鏈路層 網路層資料鏈路層 物理層三次握手 1.握手是為了建立連線,tcp三次握手的流程如下 第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,等待伺服器確認 第...
網路相關知識
http的請求方式?get和post方式的區別 狀態碼請求建立連線流程 http資料傳遞 tcp四次揮手釋放連線 面試題 http的持久連線 怎麼判斷乙個請求是否結束?charles抓包原理 https與網路安全相關問題 https連線建立的流程 https是怎麼保證資料的安全傳輸的 tcp udp...