HTTP協(xié)議(超文本傳輸協(xié)議)
OSI網(wǎng)絡七層協(xié)議:
應用層、表示層眠冈、會話層 飞苇、傳輸層、網(wǎng)絡層 洋闽、數(shù)據(jù)鏈路層玄柠、物理層
HTTP的請求方式:
GET、POST诫舅、PUT羽利、DELETE、HEAD刊懈、OPTIONS
GET和POST方式的區(qū)別:
GET的請求參數(shù)一般以?分割拼接到URL后面这弧,POST請求參數(shù)在Body里面
GET參數(shù)長度限制為2048個字符,POST一般是沒限制的
GET請求由于參數(shù)裸露在URL中虚汛, 是不安全的匾浪,POST請求則是相對安全
之所以說是相對安全,是因為卷哩,如果POST雖然參數(shù)非明文蛋辈,但如果被抓包,GET和POST一樣都是不安全的。(HTTPS該用還是得用)
?
HTTPS協(xié)議
HTTPS和HTTP的區(qū)別
HTTPS協(xié)議 = HTTP協(xié)議 + SSL/TLS協(xié)議
SSL的全稱是Secure Sockets Layer冷溶,即安全套接層協(xié)議渐白,是為網(wǎng)絡通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS的全稱是Transport Layer Security逞频,即安全傳輸層協(xié)議纯衍。
即HTTPS是安全的HTTP。
服務器端的公鑰和私鑰苗胀,用來進行非對稱加密
客戶端生成的隨機密鑰襟诸,用來進行對稱加密
?
三次握手
四次揮手
為什么建立連接只用三次握手,而斷開連接卻要四次揮手基协?
服務端的FIN和ACK需要分開發(fā)歌亲,并不是像三次握手中那樣,SYN可以和ACK同步發(fā)澜驮,所以就需要四次揮手
在四次揮手中应结,客戶端為什么在TIME_WAIT后必須等待2MSL時間呢?
為了保證客戶端發(fā)送的最后一個ACK報文段能夠到達服務端泉唁。
~
DNS
因特網(wǎng)上的主機,可以使用主機名和IP地址來標識揩慕。主機名是用于人們記憶的亭畜,IP地址是方便路由器處理,為了折衷這兩種方式迎卤,我們需要一種能進行主機名到IP地址轉(zhuǎn)換的目錄服務拴鸵。這就是域名系統(tǒng)(Domain Name System,DNS)的主要任務蜗搔。
DNS是:
1劲藐、一個由分層的DNS服務器實現(xiàn)的分布式數(shù)據(jù)庫
2、一個使得主機能夠查詢分布式數(shù)據(jù)庫的應用層協(xié)議
DNS查詢鏈:
本地DNS服務器-->根DNS服務器-->頂級域DNS服務器-->權(quán)威DNS服務器
迭代查詢和遞歸查詢
從請求主機到本地DNS服務器的查詢是遞歸樟凄,其余查詢是迭代的這種方式聘芜。
DNS緩存
為了改善時延性能并減少在因特網(wǎng)上到處傳輸?shù)腄NS報文數(shù)量,DNS廣泛使用了緩存技術(shù)缝龄。有DNS的地方汰现,就有緩存。瀏覽器叔壤、操作系統(tǒng)瞎饲、本地 DNS服務器、根DNS服務器炼绘,它們都會對DNS結(jié)果做一定程度的緩存嗅战。
?
Cookie與Session
都是記錄客戶狀態(tài)的機制,區(qū)別在于:
1俺亮、cookie數(shù)據(jù)存放在客戶的瀏覽器上驮捍,session數(shù)據(jù)放在服務器上疟呐。
2、cookie相比session不是很安全厌漂,別人可以分析存放在本地的cookie并進行cookie欺騙,考慮到安全應當使用session萨醒。
3、session會在一定時間內(nèi)保存在服務器上苇倡。當訪問增多富纸,會比較占用你服務器的性能,考慮到減輕服務器性能方面,應當使用cookie旨椒。
4晓褪、單個cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie综慎。而session存儲在服務端涣仿,可以無限量存儲
5、所以:將登錄信息等重要信息存放為session;其他信息如果需要保留示惊,可以放在cookie中