1、HTTP協(xié)議的簡(jiǎn)介
底層協(xié)議是tcp協(xié)議
- 基本概念:
- 協(xié)議:指計(jì)算機(jī)通信網(wǎng)絡(luò)中兩臺(tái)計(jì)算機(jī)之間進(jìn)行通信所必須共同遵守的規(guī)定或規(guī)則
- Http協(xié)議:超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標(biāo)記語(yǔ)言(HTML)文檔從Web服務(wù)器傳輸?shù)娇蛻舳说臑g覽器
- Uri和Url的區(qū)別:
Uri:是uniform responrce identifier,統(tǒng)一資源標(biāo)識(shí)符,用來唯一標(biāo)識(shí)一個(gè)資源
file://a:1234/b/c/d.txt
1、URL是 uniform resource locator,統(tǒng)一資源定位器,它是一種具體的Uri,即url可以用來標(biāo)識(shí)一個(gè)資源,而且還指明如何locate這個(gè)資源
www.baidu.com
2、URL三個(gè)組成部分
(url是具體的uri,強(qiáng)調(diào)的是路徑)
- 協(xié)議
- 存有該資源的主機(jī)ip地址
- 主機(jī)資源的具體地址
2、HTTP協(xié)議的特點(diǎn)
- 簡(jiǎn)單快速
- 無(wú)連接(限制每次只處理一個(gè)請(qǐng)求)
- 無(wú)狀態(tài)(對(duì)處理的事務(wù)沒有記憶)
3、request/response原理
協(xié)議:GET HTTP1.1
主機(jī):Host
操縱系統(tǒng):UserAgent
接收數(shù)據(jù)類型:Accept
4、HTTP協(xié)議中比較容易混淆的知識(shí)點(diǎn)
-
http1.1/http1.0的區(qū)別
①http1.0產(chǎn)生的背景
超文本傳輸協(xié)議(HyperText Transfer Protocol)伴隨著計(jì)算機(jī)網(wǎng)絡(luò)和瀏覽器的誕生,HTTP1.0也隨之而來,處于計(jì)算機(jī)網(wǎng)絡(luò)中的應(yīng)用程序
②http1.0所做的優(yōu)化
帶寬:現(xiàn)階段已經(jīng)解決
延遲:①瀏覽器阻塞:瀏覽器對(duì)于同一個(gè)域名,同時(shí)只能用4個(gè)連接。
延遲:②DNS查詢:瀏覽器需要知道目標(biāo)服務(wù)器的IP才能建立連接
延遲:③建立連接:三次握手③http1.1/http1.0的具體區(qū)別
緩存處理
帶寬優(yōu)化及網(wǎng)絡(luò)連接的作用
Host頭處理
長(zhǎng)連接(傳輸多個(gè)http連接,避免每次請(qǐng)求創(chuàng)建連接)④http1.1和http1.0存在的問題
A:HTTP1.x在傳輸數(shù)據(jù)時(shí),每次需要重新建立連接,無(wú)疑增加了大量延時(shí)時(shí)間B:HTTP1.x在傳輸數(shù)據(jù)時(shí),所有的傳輸內(nèi)容都是明文,客戶端和服務(wù)器端都無(wú)法驗(yàn)證對(duì)方身份(無(wú)法保證安全)
C:HTTP1.x在使用時(shí),header里攜帶的內(nèi)容過大,在一定程度上增加了傳輸成本(浪費(fèi)流量傳入過多的header信息)
D:雖然HTTP1.x支持keep-alive,來彌補(bǔ)多次創(chuàng)建連接產(chǎn)生的延遲,但是keep-alive使用多了同樣會(huì)給服務(wù)端帶來大量的性能壓力
-
get/post方法區(qū)別
提交數(shù)據(jù)(get獲取資源post更新資源)
提交數(shù)據(jù)的大小有限制(url有限制,post提交的是body)
取得變量的值Request.QueryString vs Request.Form
安全問題
-
cookie和session
什么是cookie
Cookie技術(shù)是客戶端的解決方案,Cookie就是由服務(wù)器發(fā)給客戶端的特殊信息,而這些信息以文本文件的方式存放在客戶端,然后客戶端每次向服務(wù)器發(fā)送請(qǐng)求的時(shí)候都會(huì)帶上這些特殊的信息。(請(qǐng)求成功后server向client設(shè)置cookie,相當(dāng)發(fā)放獨(dú)一無(wú)二的通行證來辨別用戶)-
什么是session
Session是另一種記錄客戶端狀態(tài)的機(jī)制,不同的Cookie保存在客戶端瀏覽器中,而Session保存在服務(wù)器上。客戶端瀏覽器訪問服務(wù)器的時(shí)候,服務(wù)器把客戶端信息以某種形式記錄在服務(wù)器上。①創(chuàng)建一個(gè)session(服務(wù)運(yùn)行時(shí))
②在創(chuàng)建了Session的同時(shí),服務(wù)器會(huì)為該Session生成唯一的Session id
③在Session被創(chuàng)建之后,就可以調(diào)用Session相關(guān)的方法往Session增加內(nèi)容
④當(dāng)客戶端再次發(fā)送請(qǐng)求的時(shí)候,會(huì)將這個(gè)Session id帶上,服務(wù)器接受到請(qǐng)求之后就會(huì)依據(jù)Session id找到對(duì)應(yīng)的Seesion -
區(qū)別
- 存放位置不同
- 存取方式不同(cookie是字符串 session任何數(shù)據(jù))
- 安全性
- 有效期的不同
- 對(duì)服務(wù)器造成的壓力不同