java如何爬取304_HTTP 304错误的详细讲解
Not Modified 客戶(hù)端有緩沖的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般是提供If-Modified-Since頭表示客戶(hù)只想比指定日期更新的文檔)。服務(wù)器告訴客戶(hù),原來(lái)緩沖的文檔還可以繼續(xù)使用。
如果客戶(hù)端在請(qǐng)求一個(gè)文件的時(shí)候,發(fā)現(xiàn)自己緩存的文件有 Last Modified ,那么在請(qǐng)求中會(huì)包含 If Modifhttp://www.cppcns.comied Since ,這個(gè)時(shí)間就是緩存文件的 Last Modified 。因此,如果請(qǐng)求中包含 If Modified Sincss、圖片,服務(wù)器會(huì)自動(dòng)完成 Last Modified 和 If Modified Since 的比較,完成緩
因此,對(duì)于動(dòng)態(tài)頁(yè)面做緩存加速,首先要在 Response 的 HTTP Header 中增加 Last Modified 定義,其次根據(jù) Request 中的 If Modified Since 和被請(qǐng)求內(nèi)容的更新時(shí)間來(lái)返回 200 或者 304 。雖然在返回 304 的時(shí)候已經(jīng)做了一次數(shù)據(jù)庫(kù)查詢(xún),但是可以避免接下來(lái)更多的數(shù)據(jù)庫(kù)查詢(xún),并且沒(méi)有返回頁(yè)面內(nèi)容而只是一個(gè) HTTP Header,從而大大的降低帶寬的消耗,對(duì)于用戶(hù)的感覺(jué)也是提高。
當(dāng)這些緩nJnTW存有效的時(shí)候,通過(guò) HttpWatch 查看一個(gè)請(qǐng)求會(huì)得到這樣的結(jié)果:
第一次訪問(wèn) 200
鼠標(biāo)點(diǎn)擊二次訪問(wèn) (Cache)
按F5刷新 304
按Ctrl+F5強(qiáng)制刷新 200
如果是這樣的就編程客棧說(shuō)明緩存真正有效了。以上就是我對(duì) HTTP 304 的一個(gè)理解。
本文標(biāo)題: HTTP 304錯(cuò)誤的詳細(xì)講解
本文地址: http://www.cppcns.com/ruanjian/java/101476.html
總結(jié)
以上是生活随笔為你收集整理的java如何爬取304_HTTP 304错误的详细讲解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: .net 访问mysql链接池_c# –
- 下一篇: PHP如何让内存不释放,PHP中使用un