HTTP1.0炸庞、HTTP1.1 和 HTTP2.0 的區(qū)別(二)

總結(jié):

一、http1.1相比1.0有如下幾點(diǎn)不同:

  • 1.默認(rèn)支持長(zhǎng)連接;

  • 2.帶寬優(yōu)化静陈,并支持?jǐn)帱c(diǎn)續(xù)傳燕雁;

  • 3.新增例如ETag,If-None-Match等更多的緩存控制策略;

  • 4.Host頭域;

  • 5.新增了24個(gè)錯(cuò)誤狀態(tài)響應(yīng)碼鲸拥,如409(Conflict)表示請(qǐng)求的資源與資源的當(dāng)前狀態(tài)發(fā)生沖突拐格;410(Gone)表示服務(wù)器上的某個(gè)資源被永久性的刪除;

二刑赶、http2.0與1.1相比有如下幾點(diǎn)不同:

  • 1.多路復(fù)用捏浊,可以做到在一個(gè)連接并行的處理多個(gè)請(qǐng)求;

  • 2.header壓縮撞叨;

  • 3.服務(wù)端推送金踪;

  • 4.解析格式不同浊洞。HTTP1.0和1.1的解析是基于文本,2.0的協(xié)議解析采用二進(jìn)制格式胡岔,實(shí)現(xiàn)方便且健壯法希;

詳細(xì)解析

一、HTTP的歷史

早在 HTTP 建立之初靶瘸,主要就是為了將超文本標(biāo)記語(yǔ)言(HTML)文檔從Web服務(wù)器傳送到客戶端的瀏覽器苫亦。也是說(shuō)對(duì)于前端來(lái)說(shuō),我們所寫的HTML頁(yè)面將要放在我們的 web 服務(wù)器上怨咪,用戶端通過(guò)瀏覽器訪問url地址來(lái)獲取網(wǎng)頁(yè)的顯示內(nèi)容屋剑,但是到了 WEB2.0 以來(lái),我們的頁(yè)面變得復(fù)雜诗眨,不僅僅單純的是一些簡(jiǎn)單的文字和圖片唉匾,同時(shí)我們的 HTML 頁(yè)面有了 CSS,Javascript匠楚,來(lái)豐富我們的頁(yè)面展示巍膘,當(dāng) ajax 的出現(xiàn),我們又多了一種向服務(wù)器端獲取數(shù)據(jù)的方法油啤,這些其實(shí)都是基于 HTTP 協(xié)議的典徘。同樣到了移動(dòng)互聯(lián)網(wǎng)時(shí)代,我們頁(yè)面可以跑在手機(jī)端瀏覽器里面益咬,但是和 PC 相比逮诲,手機(jī)端的網(wǎng)絡(luò)情況更加復(fù)雜,這使得我們開始了不得不對(duì) HTTP 進(jìn)行深入理解并不斷優(yōu)化過(guò)程中幽告。

二梅鹦、HTTP的基本優(yōu)化

影響一個(gè) HTTP 網(wǎng)絡(luò)請(qǐng)求的因素主要有兩個(gè):帶寬和延遲。

  • 帶寬:如果說(shuō)我們還停留在撥號(hào)上網(wǎng)的階段冗锁,帶寬可能會(huì)成為一個(gè)比較嚴(yán)重影響請(qǐng)求的問題齐唆,但是現(xiàn)在網(wǎng)絡(luò)基礎(chǔ)建設(shè)已經(jīng)使得帶寬得到極大的提升,我們不再會(huì)擔(dān)心由帶寬而影響網(wǎng)速冻河,那么就只剩下延遲了箍邮。

  • 延遲:

  • 瀏覽器阻塞(HOL blocking):瀏覽器會(huì)因?yàn)橐恍┰蜃枞?qǐng)求。瀏覽器對(duì)于同一個(gè)域名叨叙,同時(shí)只能有 4 個(gè)連接(這個(gè)根據(jù)瀏覽器內(nèi)核不同可能會(huì)有所差異)锭弊,超過(guò)瀏覽器最大連接數(shù)限制,后續(xù)請(qǐng)求就會(huì)被阻塞擂错。

  • DNS 查詢(DNS Lookup):瀏覽器需要知道目標(biāo)服務(wù)器的 IP 才能建立連接味滞。將域名解析為 IP 的這個(gè)系統(tǒng)就是 DNS。這個(gè)通常可以利用DNS緩存結(jié)果來(lái)達(dá)到減少這個(gè)時(shí)間的目的剑鞍。

  • 建立連接(Initial connection):HTTP 是基于 TCP 協(xié)議的昨凡,瀏覽器最快也要在第三次握手時(shí)才能捎帶 HTTP 請(qǐng)求報(bào)文,達(dá)到真正的建立連接蚁署,但是這些連接無(wú)法復(fù)用會(huì)導(dǎo)致每次請(qǐng)求都經(jīng)歷三次握手和慢啟動(dòng)便脊。三次握手在高延遲的場(chǎng)景下影響較明顯,慢啟動(dòng)則對(duì)文件類大請(qǐng)求影響較大形用。

三就轧、HTTP1.0和HTTP1.1的一些區(qū)別

HTTP1.0最早在網(wǎng)頁(yè)中使用是在1996年,那個(gè)時(shí)候只是使用一些較為簡(jiǎn)單的網(wǎng)頁(yè)上和網(wǎng)絡(luò)請(qǐng)求上田度,而HTTP1.1則在1999年才開始廣泛應(yīng)用于現(xiàn)在的各大瀏覽器網(wǎng)絡(luò)請(qǐng)求中,同時(shí)HTTP1.1也是當(dāng)前使用最為廣泛的HTTP協(xié)議解愤。 主要區(qū)別主要體現(xiàn)在:

  1. 緩存處理镇饺,在HTTP1.0中主要使用header里的If-Modified-Since,Expires來(lái)做為緩存判斷的標(biāo)準(zhǔn),HTTP1.1則引入了更多的緩存控制策略例如Entity tag送讲,If-Unmodified-Since, If-Match, If-None-Match等更多可供選擇的緩存頭來(lái)控制緩存策略奸笤。

  2. 帶寬優(yōu)化及網(wǎng)絡(luò)連接的使用,HTTP1.0中哼鬓,存在一些浪費(fèi)帶寬的現(xiàn)象监右,例如客戶端只是需要某個(gè)對(duì)象的一部分,而服務(wù)器卻將整個(gè)對(duì)象送過(guò)來(lái)了异希,并且不支持?jǐn)帱c(diǎn)續(xù)傳功能健盒,HTTP1.1則在請(qǐng)求頭引入了range頭域,它允許只請(qǐng)求資源的某個(gè)部分称簿,即返回碼是206(Partial Content)扣癣,這樣就方便了開發(fā)者自由的選擇以便于充分利用帶寬和連接。

  3. 錯(cuò)誤通知的管理憨降,在HTTP1.1中新增了24個(gè)錯(cuò)誤狀態(tài)響應(yīng)碼父虑,如409(Conflict)表示請(qǐng)求的資源與資源的當(dāng)前狀態(tài)發(fā)生沖突;410(Gone)表示服務(wù)器上的某個(gè)資源被永久性的刪除授药。

  4. Host頭處理士嚎,在HTTP1.0中認(rèn)為每臺(tái)服務(wù)器都綁定一個(gè)唯一的IP地址,因此悔叽,請(qǐng)求消息中的URL并沒有傳遞主機(jī)名(hostname)莱衩。但隨著虛擬主機(jī)技術(shù)的發(fā)展,在一臺(tái)物理服務(wù)器上可以存在多個(gè)虛擬主機(jī)(Multi-homed Web Servers)骄蝇,并且它們共享一個(gè)IP地址膳殷。HTTP1.1的請(qǐng)求消息和響應(yīng)消息都應(yīng)支持Host頭域,且請(qǐng)求消息中如果沒有Host頭域會(huì)報(bào)告一個(gè)錯(cuò)誤(400 Bad Request)。

  5. 長(zhǎng)連接赚窃,HTTP 1.1支持長(zhǎng)連接(PersistentConnection)和請(qǐng)求的流水線(Pipelining)處理册招,在一個(gè)TCP連接上可以傳送多個(gè)HTTP請(qǐng)求和響應(yīng),減少了建立和關(guān)閉連接的消耗和延遲勒极,在HTTP1.1中默認(rèn)開啟Connection: keep-alive是掰,一定程度上彌補(bǔ)了HTTP1.0每次請(qǐng)求都要?jiǎng)?chuàng)建連接的缺點(diǎn)。

四辱匿、HTTPS與HTTP的一些區(qū)別

  • HTTPS協(xié)議需要到CA申請(qǐng)證書键痛,一般免費(fèi)證書很少,需要交費(fèi)匾七。

  • HTTP協(xié)議運(yùn)行在TCP之上絮短,所有傳輸?shù)膬?nèi)容都是明文,HTTPS運(yùn)行在SSL/TLS之上昨忆,SSL/TLS運(yùn)行在TCP之上丁频,所有傳輸?shù)膬?nèi)容都經(jīng)過(guò)加密的。

  • HTTP和HTTPS使用的是完全不同的連接方式邑贴,用的端口也不一樣席里,前者是80,后者是443拢驾。

  • HTTPS可以有效的防止運(yùn)營(yíng)商劫持奖磁,解決了防劫持的一個(gè)大問題。

五繁疤、SPDY:HTTP1.x的優(yōu)化

2012年google如一聲驚雷提出了SPDY的方案咖为,優(yōu)化了HTTP1.X的請(qǐng)求延遲,解決了HTTP1.X的安全性嵌洼,具體如下:

  1. 降低延遲案疲,針對(duì)HTTP高延遲的問題,SPDY優(yōu)雅的采取了多路復(fù)用(multiplexing)麻养。多路復(fù)用通過(guò)多個(gè)請(qǐng)求stream共享一個(gè)tcp連接的方式褐啡,解決了HOL blocking的問題,降低了延遲同時(shí)提高了帶寬的利用率鳖昌。

  2. 請(qǐng)求優(yōu)先級(jí)(request prioritization)备畦。多路復(fù)用帶來(lái)一個(gè)新的問題是,在連接共享的基礎(chǔ)之上有可能會(huì)導(dǎo)致關(guān)鍵請(qǐng)求被阻塞许昨。SPDY允許給每個(gè)request設(shè)置優(yōu)先級(jí)懂盐,這樣重要的請(qǐng)求就會(huì)優(yōu)先得到響應(yīng)。比如瀏覽器加載首頁(yè)糕档,首頁(yè)的html內(nèi)容應(yīng)該優(yōu)先展示莉恼,之后才是各種靜態(tài)資源文件,腳本文件等加載,這樣可以保證用戶能第一時(shí)間看到網(wǎng)頁(yè)內(nèi)容俐银。

  3. header壓縮尿背。前面提到HTTP1.x的header很多時(shí)候都是重復(fù)多余的。選擇合適的壓縮算法可以減小包的大小和數(shù)量捶惜。

  4. 基于HTTPS的加密協(xié)議傳輸田藐,大大提高了傳輸數(shù)據(jù)的可靠性。

  5. 服務(wù)端推送(server push)吱七,采用了SPDY的網(wǎng)頁(yè)汽久,例如我的網(wǎng)頁(yè)有一個(gè)sytle.css的請(qǐng)求,在客戶端收到sytle.css數(shù)據(jù)的同時(shí)踊餐,服務(wù)端會(huì)將sytle.js的文件推送給客戶端景醇,當(dāng)客戶端再次嘗試獲取sytle.js時(shí)就可以直接從緩存中獲取到,不用再發(fā)請(qǐng)求了市袖。SPDY構(gòu)成圖:

SPDY位于HTTP之下啡直,TCP和SSL之上,這樣可以輕松兼容老版本的HTTP協(xié)議(將HTTP1.x的內(nèi)容封裝成一種新的frame格式)苍碟,同時(shí)可以使用已有的SSL功能。

六撮执、HTTP2.0性能驚人

HTTP/2: the Future of the Internet https://link.zhihu.com/?target=https://http2.akamai.com/demo 是 Akamai 公司建立的一個(gè)官方的演示微峰,用以說(shuō)明 HTTP/2 相比于之前的 HTTP/1.1 在性能上的大幅度提升。 同時(shí)請(qǐng)求 379 張圖片抒钱,從Load time 的對(duì)比可以看出 HTTP/2 在速度上的優(yōu)勢(shì)蜓肆。

[圖片上傳失敗...(image-8e67e3-1557221571776)]

七、HTTP2.0:SPDY的升級(jí)版

HTTP2.0可以說(shuō)是SPDY的升級(jí)版(其實(shí)原本也是基于SPDY設(shè)計(jì)的)谋币,但是仗扬,HTTP2.0 跟 SPDY 仍有不同的地方,如下:

HTTP2.0和SPDY的區(qū)別:

  1. HTTP2.0 支持明文 HTTP 傳輸蕾额,而 SPDY 強(qiáng)制使用 HTTPS

  2. HTTP2.0 消息頭的壓縮算法采用 HPACK http://http2.github.io/http2-spec/compression.html早芭,而非 SPDY 采用的 DEFLATE http://zh.wikipedia.org/wiki/DEFLATE

八、HTTP2.0和HTTP1.X相比的新特性

  • 新的二進(jìn)制格式(Binary Format)诅蝶,HTTP1.x的解析是基于文本退个。基于文本協(xié)議的格式解析存在天然缺陷调炬,文本的表現(xiàn)形式有多樣性语盈,要做到健壯性考慮的場(chǎng)景必然很多,二進(jìn)制則不同缰泡,只認(rèn)0和1的組合刀荒。基于這種考慮HTTP2.0的協(xié)議解析決定采用二進(jìn)制格式,實(shí)現(xiàn)方便且健壯缠借。

  • 多路復(fù)用(MultiPlexing)干毅,即連接共享,即每一個(gè)request都是是用作連接共享機(jī)制的烈炭。一個(gè)request對(duì)應(yīng)一個(gè)id溶锭,這樣一個(gè)連接上可以有多個(gè)request,每個(gè)連接的request可以隨機(jī)的混雜在一起符隙,接收方可以根據(jù)request的 id將request再歸屬到各自不同的服務(wù)端請(qǐng)求里面趴捅。

  • header壓縮,如上文中所言霹疫,對(duì)前面提到過(guò)HTTP1.x的header帶有大量信息拱绑,而且每次都要重復(fù)發(fā)送,HTTP2.0使用encoder來(lái)減少需要傳輸?shù)膆eader大小丽蝎,通訊雙方各自cache一份header fields表猎拨,既避免了重復(fù)header的傳輸,又減小了需要傳輸?shù)拇笮 ?/p>

  • 服務(wù)端推送(server push)屠阻,同SPDY一樣红省,HTTP2.0也具有server push功能。

九国觉、HTTP2.0的升級(jí)改造

  • 前文說(shuō)了HTTP2.0其實(shí)可以支持非HTTPS的吧恃,但是現(xiàn)在主流的瀏覽器像chrome,firefox表示還是只支持基于 TLS 部署的HTTP2.0協(xié)議麻诀,所以要想升級(jí)成HTTP2.0還是先升級(jí)HTTPS為好痕寓。

  • 當(dāng)你的網(wǎng)站已經(jīng)升級(jí)HTTPS之后,那么升級(jí)HTTP2.0就簡(jiǎn)單很多蝇闭,如果你使用NGINX呻率,只要在配置文件中啟動(dòng)相應(yīng)的協(xié)議就可以了,可以參考**NGINX白皮書呻引,NGINX配置HTTP2.0官方指南 **https://www.nginx.com/blog/nginx-1-9-5/梗醇。

  • 使用了HTTP2.0那么靠瞎,原本的HTTP1.x怎么辦上祈,這個(gè)問題其實(shí)不用擔(dān)心夺衍,HTTP2.0完全兼容HTTP1.x的語(yǔ)義,對(duì)于不支持HTTP2.0的瀏覽器蹂风,NGINX會(huì)自動(dòng)向下兼容的卢厂。

十、附注

HTTP2.0的多路復(fù)用和HTTP1.X中的長(zhǎng)連接復(fù)用有什么區(qū)別惠啄?

  • HTTP/1.* 一次請(qǐng)求-響應(yīng)慎恒,建立一個(gè)連接任内,用完關(guān)閉;每一個(gè)請(qǐng)求都要建立一個(gè)連接融柬;

  • HTTP/1.1 Pipeling解決方式為死嗦,若干個(gè)請(qǐng)求排隊(duì)串行化單線程處理,后面的請(qǐng)求等待前面請(qǐng)求的返回才能獲得執(zhí)行機(jī)會(huì)粒氧,一旦有某請(qǐng)求超時(shí)等越除,后續(xù)請(qǐng)求只能被阻塞,毫無(wú)辦法外盯,也就是人們常說(shuō)的線頭阻塞摘盆;

  • HTTP/2多個(gè)請(qǐng)求可同時(shí)在一個(gè)連接上并行執(zhí)行。某個(gè)請(qǐng)求任務(wù)耗時(shí)嚴(yán)重饱苟,不會(huì)影響到其它連接的正常執(zhí)行孩擂;
    具體如圖:

服務(wù)器推送到底是什么?
服務(wù)端推送能把客戶端所需要的資源伴隨著index.html一起發(fā)送到客戶端箱熬,省去了客戶端重復(fù)請(qǐng)求的步驟类垦。正因?yàn)闆]有發(fā)起請(qǐng)求,建立連接等操作城须,所以靜態(tài)資源通過(guò)服務(wù)端推送的方式可以極大地提升速度蚤认。具體如下:

  • 普通的客戶端請(qǐng)求過(guò)程:
  • 服務(wù)端推送的過(guò)程:

為什么需要頭部壓縮?
假定一個(gè)頁(yè)面有100個(gè)資源需要加載(這個(gè)數(shù)量對(duì)于今天的Web而言還是挺保守的), 而每一次請(qǐng)求都有1kb的消息頭(這同樣也并不少見糕伐,因?yàn)镃ookie和引用等東西的存在), 則至少需要多消耗100kb來(lái)獲取這些消息頭烙懦。HTTP2.0可以維護(hù)一個(gè)字典,差量更新HTTP頭部赤炒,大大降低因頭部傳輸產(chǎn)生的流量。具體參考:HTTP/2 頭部壓縮技術(shù)介紹

HTTP2.0多路復(fù)用有多好亏较?
HTTP 性能優(yōu)化的關(guān)鍵并不在于高帶寬莺褒,而是低延遲。TCP 連接會(huì)隨著時(shí)間進(jìn)行自我「調(diào)諧」雪情,起初會(huì)限制連接的最大速度遵岩,如果數(shù)據(jù)成功傳輸,會(huì)隨著時(shí)間的推移提高傳輸?shù)乃俣妊餐ā_@種調(diào)諧則被稱為 TCP 慢啟動(dòng)尘执。由于這種原因,讓原本就具有突發(fā)性和短時(shí)性的 HTTP 連接變的十分低效宴凉。
HTTP/2 通過(guò)讓所有數(shù)據(jù)流共用同一個(gè)連接誊锭,可以更有效地使用 TCP 連接,讓高帶寬也能真正的服務(wù)于 HTTP 的性能提升弥锄。

十一丧靡、參考

HTTP/2.0 相比1.0有哪些重大改進(jìn)蟆沫?
深入研究:HTTP2 的真正性能到底如何
HTTP/2 頭部壓縮技術(shù)介紹

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市温治,隨后出現(xiàn)的幾起案子饭庞,更是在濱河造成了極大的恐慌,老刑警劉巖熬荆,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舟山,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡卤恳,警方通過(guò)查閱死者的電腦和手機(jī)累盗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)纬黎,“玉大人幅骄,你說(shuō)我怎么就攤上這事”窘瘢” “怎么了拆座?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)冠息。 經(jīng)常有香客問我挪凑,道長(zhǎng),這世上最難降的妖魔是什么逛艰? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任躏碳,我火速辦了婚禮,結(jié)果婚禮上散怖,老公的妹妹穿的比我還像新娘菇绵。我一直安慰自己,他們只是感情好镇眷,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布咬最。 她就那樣靜靜地躺著,像睡著了一般欠动。 火紅的嫁衣襯著肌膚如雪永乌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天具伍,我揣著相機(jī)與錄音翅雏,去河邊找鬼。 笑死人芽,一個(gè)胖子當(dāng)著我的面吹牛望几,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啼肩,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼橄妆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼衙伶!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起害碾,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤矢劲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后慌随,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芬沉,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年阁猜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丸逸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡剃袍,死狀恐怖黄刚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情民效,我是刑警寧澤憔维,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站畏邢,受9級(jí)特大地震影響业扒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舒萎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一程储、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧臂寝,春花似錦章鲤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至素征,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萝挤,已是汗流浹背御毅。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怜珍,地道東北人端蛆。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像酥泛,于是被迫代替她去往敵國(guó)和親今豆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嫌拣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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