OkHttp系列文章(一) - Java網(wǎng)絡(luò)編程基礎(chǔ)

前言

OkHttp系列文章
OkHttp系列文章(一) - Java網(wǎng)絡(luò)編程基礎(chǔ)
OkHttp系列文章(二) - Http與Https
OkHttp系列文章(三) - OkHttp
OkHttp系列文章(四) - OkHttp攔截器原理
OkHttp系列文章(五) - OkHttp的5個攔截器作用
OkHttp系列文章(六) - OkHttp的5個攔截器圖解分析
OkHttp系列文章(七) - 文件更新下載

1. TCP/IP協(xié)議家族


1>:推薦相關(guān)書籍:

《圖解Http》范嘱、《Http權(quán)威指南》、《Java網(wǎng)絡(luò)編程基礎(chǔ)》

2>:常用的協(xié)議有:

Http(底層是socket)、DNS、TCP尊勿、UDP单匣、IP等等;
輝煌FTP:用于傳輸文件噪沙;

3>:OSI七層協(xié)議:

應(yīng)用層插爹、表示層哄辣、會話層、傳輸層赠尾、網(wǎng)絡(luò)層柔滔、數(shù)據(jù)鏈路層、物理層萍虽;

4>:TCP三次握手(建立連接)和四次揮手(斷開連接)

三次握手:保證數(shù)據(jù)傳輸?shù)目煽啃裕斍榭梢詤⒄眨?a href="http://www.reibang.com/p/f778f3e76432" target="_blank">TCP三次握手簡介
你能聽到嗎形真?
我能聽到杉编,你能聽到嗎?
我能聽到咆霜,兩人開始對話邓馒。

四次揮手:保證客戶端、服務(wù)端都掛掉蛾坯,否則可能浪費資源
我想掛斷電話了光酣。
好,稍等下脉课,我還有句話沒說完救军,
說完話之后,掛了倘零。
對方也掛了唱遭。

2. Http請求:他們之間通信是以報文的形式


1>:客戶端請求(Request):請求報文 = 請求頭 + 空行 + 請求數(shù)據(jù)

Accept:客戶端可以處理的數(shù)據(jù)格式;
Cookie:服務(wù)端之前給我們的Cookie呈驶;

2>:服務(wù)端響應(yīng)(Response):請求報文 = 請求頭 + 空行 + 請求數(shù)據(jù)

Status Code:響應(yīng)狀態(tài)碼:200拷泽、404、500等袖瞻;
Content-Type:響應(yīng)返回類型:文本(utf-8)司致、圖片等等;
Set-Cookie:服務(wù)端給我們的Cookie聋迎,要保存起來脂矫,下次帶過去;

3. Cookie砌庄、Session羹唠、Token


共同點:

都是用來做持久化處理的奕枢,目的就是讓客戶端和服務(wù)端相互認(rèn)識的。Http請求默認(rèn)是不持久的佩微,通俗的講缝彬,就是誰也不認(rèn)識誰;

不同點:
1>:Cookie:是存放在客戶端的信息哺眯,這個信息來自于服務(wù)器返回的信息谷浅,下次請求帶過去:

如果用戶離開網(wǎng)站,并且Cookie已過期奶卓,那么該Cookie一般是會被清除的一疯;
如果Cookie沒有過期下次訪問網(wǎng)站還是會帶過去,相對比較危險夺姑;

2>:Session:是存放在服務(wù)器上邊的客戶端臨時信息墩邀,用戶離開網(wǎng)站時,Session會被清除盏浙,相對安全眉睹,但是比較耗費資源;
3>:Token废膘,用于App竹海,令牌的意思:用于用戶身份的驗證,有點類似于 Cookie丐黄,相對來說更安全斋配,一般流程如下:

a:客戶端向服務(wù)端申請 token;
b:服務(wù)端收到請求灌闺,會去驗證用戶信息艰争,簽發(fā)一個 token給客戶端,然后服務(wù)端自己保存token菩鲜;
c:客戶端收到 token 保存起來园细,每次請求帶上 token;
e:服務(wù)器收到其他請求時接校,會去驗證客戶端的 token猛频,如果成功返回數(shù)據(jù),不成功啥都不給蛛勉;

4. Http緩存


1>:Cache-Control(緩存策略):Public鹿寻、private、no-cache诽凌、max-age毡熏、no-store(不緩存);
2>:Expires(緩存的過期策略):指明緩存數(shù)據(jù)有效的絕對時間侣诵,告訴客戶端到了這個時間點(比照客戶端時間點)后本地緩存就作廢了痢法,在這個時間點內(nèi)客戶端可以認(rèn)為緩存數(shù)據(jù)有效狱窘,可以直接從緩存中加載顯示;

如果app端有緩存并且過期了财搁,需要給服務(wù)器發(fā)起請求蘸炸,這個時候服務(wù)端不一定會給返回數(shù)據(jù):
如果服務(wù)器數(shù)據(jù)沒有發(fā)生變動就不會給,服務(wù)器狀態(tài)碼會變?yōu)?04尖奔,如果服務(wù)端開發(fā)人員考慮性能的話搭儒,會給客戶端返回304,表示服務(wù)端數(shù)據(jù)沒有變動提茁,然后提示客戶端自己去拿之前過期的緩存

徹底弄懂 Http 緩存機制 - 基于緩存策略三要素分解法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末淹禾,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子茴扁,更是在濱河造成了極大的恐慌铃岔,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峭火,死亡現(xiàn)場離奇詭異德撬,居然都是意外死亡,警方通過查閱死者的電腦和手機躲胳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纤勒,“玉大人坯苹,你說我怎么就攤上這事∫√欤” “怎么了粹湃?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泉坐。 經(jīng)常有香客問我为鳄,道長,這世上最難降的妖魔是什么腕让? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任孤钦,我火速辦了婚禮,結(jié)果婚禮上纯丸,老公的妹妹穿的比我還像新娘偏形。我一直安慰自己,他們只是感情好觉鼻,可當(dāng)我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布俊扭。 她就那樣靜靜地躺著,像睡著了一般坠陈。 火紅的嫁衣襯著肌膚如雪萨惑。 梳的紋絲不亂的頭發(fā)上捐康,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機與錄音庸蔼,去河邊找鬼解总。 笑死,一個胖子當(dāng)著我的面吹牛朱嘴,可吹牛的內(nèi)容都是我干的倾鲫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼萍嬉,長吁一口氣:“原來是場噩夢啊……” “哼乌昔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起壤追,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤磕道,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后行冰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溺蕉,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年悼做,在試婚紗的時候發(fā)現(xiàn)自己被綠了疯特。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡肛走,死狀恐怖漓雅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情朽色,我是刑警寧澤邻吞,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站葫男,受9級特大地震影響抱冷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梢褐,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一旺遮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盈咳,春花似錦趣效、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春西傀,著一層夾襖步出監(jiān)牢的瞬間斤寇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工拥褂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留娘锁,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓饺鹃,卻偏偏與公主長得像莫秆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子悔详,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內(nèi)容