一:xml和json的區(qū)別
1:數(shù)據(jù)體積方面
json相對于xml來講 數(shù)據(jù)體積小 傳遞速度更快
2:數(shù)據(jù)交互方面
json和javascript的交互更加方便 更容易解析
3:數(shù)據(jù)描述方面
json對數(shù)據(jù)的描述性不如xml
4:傳輸速度
json速度遠(yuǎn)遠(yuǎn)快于xml
二:TCP傳輸?shù)娜挝帐趾退拇螕]手
用TCP協(xié)議把數(shù)據(jù)包送出去后逢倍,TCP不會對傳送 后的情況置之不理,它一定會向?qū)Ψ酱_認(rèn)是否成功送達(dá)朗徊。握手過程中使用了TCP的標(biāo)志:SYN和ACK诉稍。
1:發(fā)送端首先發(fā)送一個帶SYN標(biāo)志的數(shù)據(jù)包給對方跛十。
2:接收端收到后,回傳一個帶有SYN/ACK標(biāo)志的數(shù)據(jù)包以示傳達(dá)確認(rèn)信息。
3:發(fā)送端再回傳一個帶ACK標(biāo)志的數(shù)據(jù)包辕近,代表“握手”結(jié)束
揮手:
1:主動關(guān)閉方發(fā)送一個FIN封孙,用來關(guān)閉主動方到被動關(guān)閉方的數(shù)據(jù)傳送迹冤,也就是主動關(guān)閉方告訴被動關(guān)閉方:我已經(jīng)不 會再給你發(fā)數(shù)據(jù)了(當(dāng)然,在fin包之前發(fā)送出去的數(shù)據(jù)虎忌,如果沒有收到對應(yīng)的ack確認(rèn)報文泡徙,主動關(guān)閉方依然會重發(fā)這些數(shù)據(jù)),但是膜蠢,此時主動關(guān)閉方還可 以接受數(shù)據(jù)堪藐。
2:被動關(guān)閉方收到FIN包后,發(fā)送一個ACK給對方挑围,確認(rèn)序號為收到序號+1(與SYN相同礁竞,一個FIN占用一個序號)。
3:被動關(guān)閉方發(fā)送一個FIN杉辙,用來關(guān)閉被動關(guān)閉方到主動關(guān)閉方的數(shù)據(jù)傳送模捂,也就是告訴主動關(guān)閉方,我的數(shù)據(jù)也發(fā)送完了蜘矢,不會再給你發(fā)數(shù)據(jù)了
4:主動關(guān)閉方收到FIN后狂男,發(fā)送一個ACK給被動關(guān)閉方,確認(rèn)序號為收到序號+1品腹,至此岖食,完成四次揮手。
三:TCP和UDP的區(qū)別
1:TCP(Transmission Control Protocol舞吭,傳輸控制協(xié)議)是基于連接的協(xié)議泡垃,也就是說析珊,在正式收發(fā)數(shù)據(jù)前,必須和對方建立可靠的連接兔毙。一個TCP連接必須要經(jīng)過三次“對話”才能建立起來
2:UDP(User Data Protocol唾琼,用戶數(shù)據(jù)報協(xié)議)是與TCP相對應(yīng)的協(xié)議。它是面向非連接的協(xié)議澎剥,它不與對方建立連接锡溯,而是直接就把數(shù)據(jù)包發(fā)送過去!
四:漸進(jìn)增強(qiáng)和優(yōu)雅降級
漸進(jìn)增強(qiáng) :針對低版本瀏覽器進(jìn)行構(gòu)建頁面哑姚,保證最基本的功能祭饭,然后再針對高級瀏覽器進(jìn)行效果、交互等改進(jìn)和追加功能達(dá)到更好的用戶體驗叙量。
優(yōu)雅降級 :一開始就構(gòu)建完整的功能倡蝙,然后再針對低版本瀏覽器進(jìn)行兼容。