標(biāo)題: 還是不能更新,學(xué)點(diǎn)網(wǎng)絡(luò)知識(shí)(網(wǎng)摘) [打印本頁(yè)]

作者: 51黑專家    時(shí)間: 2016-5-8 01:42
標(biāo)題: 還是不能更新,學(xué)點(diǎn)網(wǎng)絡(luò)知識(shí)(網(wǎng)摘)

在對(duì)網(wǎng)站內(nèi)容是否更新進(jìn)行測(cè)試時(shí),最常用的兩個(gè)工具就是wget和curl。不過(guò)兩個(gè)工具之間還是有一些小區(qū)別,甚至很可能影響到測(cè)試結(jié)論的。記錄一下:
1、在查看response-header的時(shí)候,我們習(xí)慣用的是wget -S和curl -I,但是:wget -S的時(shí)候,發(fā)送的是GET請(qǐng)求,而curl -I發(fā)送的是HEAD請(qǐng)求。如果測(cè)試url此時(shí)沒(méi)有被緩存過(guò),直接使用curl -I進(jìn)行測(cè)試,永遠(yuǎn)都會(huì)返回MISS狀態(tài)。所以最好先wget一次,再用curl -I。
2、在查看下載速度時(shí),常常發(fā)現(xiàn)wget和curl耗時(shí)差距較大。因?yàn)閣get默認(rèn)使用HTTP/1.0協(xié)議,不顯式指定–header=”Accept-Encoding: gzip,deflate”的情況下,傳輸?shù)氖俏唇?jīng)壓縮的文件。而curl使用HTTP/1.1協(xié)議,默認(rèn)接受就是壓縮格式。
3、在測(cè)試緩存層配置時(shí),有時(shí)發(fā)現(xiàn)wget可以HIT的東西,curl卻始終MISS。對(duì)此可以開啟debug模式進(jìn)行觀察跟蹤。
wget自帶有-d參數(shù),直接顯示request-header;curl只有-D參數(shù),在采用GET請(qǐng)求的時(shí)候,將response-header另存成文件,所以只好在squid上debug請(qǐng)求處理流程(當(dāng)然也可以去網(wǎng)絡(luò)抓包),結(jié)果發(fā)現(xiàn),curl的GET請(qǐng)求,都帶有”Pragma: no-cache”!而wget需要另行指定–no-cache才會(huì)。按照squid的默認(rèn)配置,對(duì)client_no_cache是透?jìng)鞯,所以curl永遠(yuǎn)MISS,除非squid上配置了ignore-reload/reload-into-ims兩個(gè)參數(shù),才可能強(qiáng)制HIT。







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1