整站seo優(yōu)化一般多少錢網(wǎng)絡(luò)推廣需要多少費(fèi)用
1.HTTP與HTTPS的區(qū)別
- HTTP運(yùn)行在TCP之上;HTTPS是運(yùn)行在SSL之上,SSL運(yùn)行在TCP之上
- 兩者使用的端口不同:HTTP使用的是80端口,HTTPS使用的是443端口
- 安全性不同:HTTP沒有加密,安全性較差;HTTPS有加密機(jī)制,安全性較好
- 兩者消耗資源大小不一:HTTP消耗的資源較少,HTTPS由于需要加密處理,所以消耗的資源更多
2.HTTP中POST和GET方法的區(qū)別
相同點(diǎn):兩者都是HTTP協(xié)議中的方法
不同點(diǎn):
- get方法是用來(lái)從服務(wù)器上獲取資源;post是用來(lái)向服務(wù)器提交數(shù)據(jù)的
- get方法的參數(shù)是通過(guò)URL進(jìn)行傳遞的;post方法的參數(shù)存放在請(qǐng)求頭或者消息體中進(jìn)行傳遞的
- get方法相比于post方法更不安全,因?yàn)檎?qǐng)求參數(shù)存在于url中,暴露在外
- get方法在url中傳遞的參數(shù)是有長(zhǎng)度限制的(實(shí)際上HTTP協(xié)議本身對(duì)長(zhǎng)度沒有限制,限制是特定的瀏覽器以及服務(wù)器對(duì)他的限制,不同瀏覽器限制的長(zhǎng)度不同。),POST對(duì)長(zhǎng)度沒有限制。
3.Cookie和Session的區(qū)別
- 用范圍不同:cookie保存在客戶端瀏覽器;session保存在服務(wù)器
- 存取方式不同:cookie只能保存ASCII,session可以存儲(chǔ)任意類型的數(shù)據(jù)
- 有效期不同:cookie可設(shè)置為長(zhǎng)時(shí)間保存,比如我們使用的默認(rèn)登錄功能;session一般有時(shí)間限制,客戶端關(guān)閉或者session超時(shí)都會(huì)失效
- 存儲(chǔ)大小不同:單個(gè)cookie保存數(shù)據(jù)大小不能超過(guò)4k;session存儲(chǔ)數(shù)據(jù)可遠(yuǎn)遠(yuǎn)高于cookie
- 安全性不同:cookie將信息存儲(chǔ)在客戶端,容易遭到非法獲取;session信息存儲(chǔ)在服務(wù)器,安全新相對(duì)來(lái)說(shuō)高一些。
4.HTTP常見的狀態(tài)碼
常見的狀態(tài)碼:
- 200:服務(wù)器處理請(qǐng)求成功。
- 301(永久重定向):瀏覽器請(qǐng)求的資源已經(jīng)永久移動(dòng)到了一個(gè)新的URL地址,瀏覽器會(huì)自動(dòng)將請(qǐng)求重定向到新的URL地址
- 302(臨時(shí)重定向):請(qǐng)求的資源只是暫時(shí)移動(dòng)到了一個(gè)新的URL地址,瀏覽器會(huì)在下一次請(qǐng)求時(shí)再次訪問(wèn)原始URL地址。
- 400:客戶端請(qǐng)求有語(yǔ)法錯(cuò)誤,不能被服務(wù)器理解
- 403:服務(wù)器收到請(qǐng)求,但是沒有權(quán)限,服務(wù)器拒絕提供服務(wù)
- 404(未找到):服務(wù)器找不到請(qǐng)求的資源
- 500(服務(wù)器內(nèi)部錯(cuò)誤):服務(wù)器錯(cuò)誤,無(wú)法完成請(qǐng)求
狀態(tài)碼開頭代表的類型:
5.對(duì)稱加密和非對(duì)稱加密
對(duì)稱加密:對(duì)稱加密指的是加密和解密都是同一個(gè)密鑰。但是這種加密方式,如果被別人獲取密鑰,就可以直接獲取解密內(nèi)容,安全性有待提升。
非對(duì)稱加密:非對(duì)稱加密用到兩個(gè)密鑰,一個(gè)公鑰一個(gè)私鑰。每個(gè)客戶都拿著一把公鑰,服務(wù)器拿著一把私鑰。公鑰加密私鑰可以解密;私鑰加密公鑰可以解密,但是公鑰加密公鑰不能解密。
區(qū)別:對(duì)稱加密算法相比非對(duì)稱加密算法來(lái)說(shuō),加解密的效率要高得多。但是缺陷在于對(duì)于秘鑰的管理上,以及在非安全信道中通訊時(shí),密鑰交換的安全性不能保障。所以在實(shí)際的網(wǎng)絡(luò)環(huán)境中,會(huì)將兩者混合使用.。
6.HTTPS的工作原理
- 客戶端請(qǐng)求HTTPS?網(wǎng)址,然后連接到服務(wù)器的443端口(HTTPS的默認(rèn)端口)
- 采用HTTPS的服務(wù)器必須要有一套數(shù)字CA證書,頒發(fā)證書的時(shí)候會(huì)產(chǎn)生一個(gè)公鑰和私鑰。私鑰由服務(wù)端自己保存,不可泄漏,公鑰則是附帶在證書的信息中,可以公開的。證書本身也附帶了一個(gè)電子簽名,這個(gè)簽名來(lái)驗(yàn)證證書的真實(shí)性和完整性,可以防止證書被篡改
- 服務(wù)器響應(yīng)客戶端請(qǐng)求,將證書傳遞給客戶端,證書包含公鑰和大量信息,比如證書頒發(fā)機(jī)構(gòu)信息,公司信息和證書有效期等
- 客戶端解析證書并對(duì)其進(jìn)行驗(yàn)證,如果證書是不可信機(jī)構(gòu)頒發(fā)的,或者證書中的域名與實(shí)際域名不一致的,或者證書已經(jīng)過(guò)期,就會(huì)像訪問(wèn)者顯示一個(gè)警告,與其選擇是否繼續(xù)通信? ? ? ? ?如果證書沒有問(wèn)題,客戶端會(huì)從服務(wù)器證書中取出服務(wù)器的公鑰A,然后客戶端會(huì)生成一個(gè)隨機(jī)碼KEY,并使用公鑰A將其加密
- 客戶端把加密后的隨機(jī)碼KEY發(fā)送給服務(wù)器,最為后面對(duì)稱加密的密鑰
- 服務(wù)器在收到隨機(jī)碼KEY之后會(huì)使用是私鑰B進(jìn)行解密,經(jīng)過(guò)以上步驟,客戶端和服務(wù)器終于建立了安全的連接,完美解決了對(duì)稱加密密鑰泄露的問(wèn)題,后續(xù)可以使用對(duì)稱加密進(jìn)行通信了
- 服務(wù)器使用密鑰(隨機(jī)碼KEY)對(duì)數(shù)據(jù)進(jìn)行對(duì)稱加密并且發(fā)送給客戶端,客戶端使用相同的密鑰(隨機(jī)碼KEY)進(jìn)行解密
- 雙方使用對(duì)稱加密的方式傳輸數(shù)據(jù)
7.在瀏覽器中輸入www.baidu.com后執(zhí)行的全過(guò)程
- 域名解析(將域名www.baidu.com變?yōu)閕p地址):瀏覽器首先搜索自己的DNS緩存(維護(hù)一張域名與IP的對(duì)應(yīng)表),若沒有則搜索操作系統(tǒng)的DNS緩存,若沒有則搜索操作系統(tǒng)的hosts文件。若都沒有找到,則找TCP/IP參數(shù)設(shè)置中的首選DNS服務(wù)器,即本地的DNS服務(wù)器(遞歸查詢),本地域名服務(wù)器查找自己的DNS緩存,如果沒有,則進(jìn)行迭代查詢。將本地服務(wù)器的IP返回給操作系統(tǒng),同時(shí)緩存IP
- 使用三次握手機(jī)制建立TCP連接,瀏覽器會(huì)以一個(gè)隨機(jī)端口(1024-65535)向服務(wù)端的web程序80端口發(fā)起TCP連接
- 建立TCP連接之后發(fā)起HTTP請(qǐng)求
- 服務(wù)器響應(yīng)HTTP請(qǐng)求,客戶端得到HTML代碼。服務(wù)器web應(yīng)用程序收到HTTP請(qǐng)求之后,就開始處理請(qǐng)求,處理完成之后就返回給瀏覽器HTML文件
- 瀏覽器解析HTML代碼,并請(qǐng)求HTML中的資源
- 瀏覽器對(duì)頁(yè)面進(jìn)行渲染,呈現(xiàn)給用戶?
8.HTTP/1.0和HTTP/1.1有什么區(qū)別
- 連接方式:HTTP/1.0為短連接,HTTP/1.1支持長(zhǎng)連接
- 狀態(tài)響應(yīng)碼:HTTP/1.1中新加入了大量的狀態(tài)碼,光是錯(cuò)誤碼就新增了24種。比如100——在請(qǐng)求大資源時(shí)預(yù)熱,206——范圍請(qǐng)求的標(biāo)識(shí)碼,409——請(qǐng)求與當(dāng)前資源規(guī)定沖突。
- 緩存機(jī)制:在HTTP/1.0中主要使用Hearder里的If-Modified-Since,Expires 來(lái)做為緩存判斷的標(biāo)準(zhǔn),HTTP/1.1則引入了更多的緩存控制策略例如 Entity tag,If-Unmodified-Since, If-Match, If-None-Match 等更多可供選擇的緩存頭來(lái)控制緩存策略。
- 帶寬:HTTP/1.0中存在一些浪費(fèi)帶寬的現(xiàn)象,例如客戶端某個(gè)對(duì)象的一部分,而服務(wù)器卻將整個(gè)對(duì)象都送過(guò)來(lái),并且不支持?jǐn)帱c(diǎn)續(xù)傳功能;HTTP/1.1則在請(qǐng)求頭引入了range頭域,它允許請(qǐng)求資源的某個(gè)部分,返回碼為206,這樣就方便開發(fā)者自由的選擇以便于充分利用帶寬和連接
- Host頭處理:HTTP/1.1引入了Host頭字段,允許在統(tǒng)一IP地址上托管多個(gè)域名,從而支持虛擬主機(jī)的功能。而HTTP/1.0沒有Host字段,無(wú)法實(shí)現(xiàn)虛擬主機(jī)
9.HTTP/1.1和HTTP/2.0有什么區(qū)別
- ?IO多路復(fù)用:HTTP/2.0在同一連接上可以同時(shí)傳輸多個(gè)請(qǐng)求和響應(yīng)。這使得HTTP/2.0在處理多個(gè)請(qǐng)求時(shí)更加高效,減少了網(wǎng)絡(luò)延遲和提高了性能。HTTP/1.1則使用串行的方式,每個(gè)請(qǐng)求和響應(yīng)都需要獨(dú)立的連接。
- 二進(jìn)制幀:HTTP/2.0使用二進(jìn)制幀進(jìn)行數(shù)據(jù)傳輸,二進(jìn)制幀更加緊湊和高效,減少了數(shù)據(jù)的傳輸量和帶寬消耗。HTTP/1.1則使用文本格式的報(bào)文
- 頭部壓縮:HTTP/1.1支持body壓縮,不支持Header壓縮;HTTP/2.0支持對(duì)Header壓縮,減少了網(wǎng)絡(luò)開銷
- 服務(wù)器推送:HTTP/2.0支持服務(wù)器推送,可以在客戶端請(qǐng)求一個(gè)資源時(shí),將其他相關(guān)資源一并推送給客戶端,從而減少客戶端的請(qǐng)求次數(shù)和延遲。HTTP/1.1需要客戶端自己發(fā)送請(qǐng)求來(lái)獲取相關(guān)資源
10.HTTP/2.0和HTTP/3.0有什么區(qū)別
- 傳輸協(xié)議:HTTP/2.0是基于TCP協(xié)議實(shí)現(xiàn)的,HTTP/3.0 新增了 QUIC(Quick UDP Internet Connections) 協(xié)議來(lái)實(shí)現(xiàn)可靠的傳輸,提供與TLS/SSL相當(dāng)?shù)陌踩?#xff0c;具有較低的連接和傳輸延遲(可以將QUIC看作是UDP 的升級(jí)版本,在其基礎(chǔ)上新增了很多功能比如加密,重傳等)
- 連接建立:HTTP/2.0需要經(jīng)過(guò)經(jīng)典的TCP三次握手過(guò)程。HTTP/3.0由于QUIC特性,建立連接的時(shí)間遠(yuǎn)遠(yuǎn)小于HTTP/2.0建立的時(shí)間
- 隊(duì)頭阻塞:HTTP/2.0多請(qǐng)求復(fù)用一個(gè)TCP連接,一旦發(fā)生丟包,就會(huì)阻塞所有的HTTP請(qǐng)求;由于QUIC的特性,HTTP/3.0在一定程度上解決了隊(duì)頭阻塞問(wèn)題,一個(gè)連接建立多個(gè)不同的數(shù)據(jù)流,這些數(shù)據(jù)流之間互不影響,某個(gè)數(shù)據(jù)流發(fā)生丟包了,其數(shù)據(jù)流不影響
- 錯(cuò)誤恢復(fù):HTTP/3.0具有更好的錯(cuò)誤恢復(fù)機(jī)制,當(dāng)出現(xiàn)丟包,延遲等網(wǎng)絡(luò)問(wèn)題時(shí),可以更快的進(jìn)行恢復(fù)和重傳。HTTP/2.0還是依賴于TCP的錯(cuò)誤恢復(fù)和重傳
- 安全性:HTTP/2.0和HTTP/3.0對(duì)于安全都有很高的要求,支持加密通信,但是實(shí)現(xiàn)方式不同。HTTP/2.0使用TLS協(xié)議進(jìn)行加密,而HTTP/3.0基于QUIC協(xié)議,包含了內(nèi)置的加密和驗(yàn)證身份機(jī)制,可以提供更強(qiáng)的安全性。
11.DNS域名系統(tǒng)
DNS域名系統(tǒng),是當(dāng)用戶使用瀏覽器訪問(wèn)網(wǎng)址之后,使用的第一個(gè)重要協(xié)議,DNS解決的是域名和IP地址映射問(wèn)題
?在實(shí)際的應(yīng)用中,有一種情況可以不必動(dòng)用DNS就可以獲知域名和IP地址的映射。瀏覽器會(huì)在本地維護(hù)一個(gè)hosts列表,一般來(lái)說(shuō)瀏覽器要查看訪問(wèn)的域名是否在hosts表中,如果有的話,直接提取對(duì)應(yīng)的IP地址即可,如果本地hosts列表不存在,此時(shí)DNS就開始工作了。
目前 DNS 的設(shè)計(jì)采用的是分布式、層次數(shù)據(jù)庫(kù)結(jié)構(gòu),DNS 是應(yīng)用層協(xié)議,基于 UDP 協(xié)議之上,端口為 53?。
DNS服務(wù)器自底向上可以一次分為以下幾個(gè)層級(jí)(所有DNS服務(wù)器都屬于以下四個(gè)類別別):
- 根DNS服務(wù)器:根DNS服務(wù)器提供TLD服務(wù)器的IP地址。目前世界上只有13組根服務(wù)器,我國(guó)境內(nèi)目前沒有
- 頂級(jí)域DNS服務(wù)器(TLD服務(wù)器):頂級(jí)域是指域名的后綴,如com,org,net,edu等,國(guó)家也有自己的頂級(jí)域,如uk,fr,ca等,TLD服務(wù)器提供了權(quán)威DNS服務(wù)器的IP地址
- 權(quán)威DNS服務(wù)器:在因特網(wǎng)上具有公共可訪問(wèn)主機(jī)的每個(gè)組織機(jī)構(gòu)必須提供公共可訪問(wèn)的 DNS 記錄,這些記錄將這些主機(jī)的名字映射為 IP 地址
- 本地DNS服務(wù)器:每個(gè)ISP(互聯(lián)網(wǎng)服務(wù)供應(yīng)商)都有一個(gè)自己的本地DNS服務(wù)器。當(dāng)主機(jī)發(fā)出DNS請(qǐng)求時(shí),該請(qǐng)求被發(fā)往本地DNS服務(wù)器,它起著代理的作用,并將該請(qǐng)求轉(zhuǎn)發(fā)到DNS層次結(jié)構(gòu)中
各域名的層級(jí)關(guān)系類似于一個(gè)樹狀結(jié)構(gòu):
DNS的工作流程
- 客戶端首先會(huì)發(fā)出一個(gè) DNS 請(qǐng)求,問(wèn) www.server.com 的 IP 是啥,并發(fā)給本地 DNS 服務(wù)器(也就是客戶端的 TCP/IP 設(shè)置中填寫的 DNS 服務(wù)器地址)。
- 本地域名服務(wù)器收到客戶端的請(qǐng)求后,如果緩存里的表格能找到 www.server.com,則它直接返回 IP 地址。如果沒有,本地 DNS 會(huì)去問(wèn)它的根域名服務(wù)器:“老大, 能告訴我 www.server.com 的 IP 地址嗎?” 根域名服務(wù)器是最高層次的,它不直接用于域名解析,但能指明一條道路。
- 根 DNS 收到來(lái)自本地 DNS 的請(qǐng)求后,發(fā)現(xiàn)后置是 .com,說(shuō):“www.server.com 這個(gè)域名歸 .com 區(qū)域管理”,我給你 .com 頂級(jí)域名服務(wù)器地址給你,你去問(wèn)問(wèn)它吧?!?/li>
- 本地 DNS 收到頂級(jí)域名服務(wù)器的地址后,發(fā)起請(qǐng)求問(wèn)“老二, 你能告訴我 www.server.com 的 IP 地址嗎?”
- 頂級(jí)域名服務(wù)器說(shuō):“我給你負(fù)責(zé) www.server.com 區(qū)域的權(quán)威 DNS 服務(wù)器的地址,你去問(wèn)它應(yīng)該能問(wèn)到”。
- 本地 DNS 于是轉(zhuǎn)向問(wèn)權(quán)威 DNS 服務(wù)器:“老三,www.server.com對(duì)應(yīng)的IP是啥呀?” server.com 的權(quán)威 DNS 服務(wù)器,它是域名解析結(jié)果的原出處。為啥叫權(quán)威呢?就是我的域名我做主。
- 權(quán)威 DNS 服務(wù)器查詢后將對(duì)應(yīng)的 IP 地址 X.X.X.X 告訴本地 DNS。
- 本地 DNS 再將 IP 地址返回客戶端,客戶端和目標(biāo)建立連接。
至此DNS域名系統(tǒng)的一次完整的工作流程結(jié)束。
?