【Laravel國際會議--中文字幕】HTTP原理詳解,與HTTP和氣相處

http是咱們不論哪一個語言、哪一個框架的web開發者,都必須天天面對和打交道的,它是客戶端與服務器之間的傳輸協議,是web可以存在的基石。java

可是每每由於http偏底層,雖然咱們每天用它,但大部分的程序員對其卻知之甚少,咱們可能知道不少PHP的、js的、java等的相關知識,可是http的,卻談不出太多來。http就像是一條特殊的高速公路,若是咱們只是對本身的車瞭如指掌,但對路況卻一無所知,那你的車再好,估計也不可能最快最安全地到達目的地。laravel

或者也能夠把http比做一條你不得不天天都面對的狗,那麼怎麼樣一塊兒和氣相處呢?你不能老是躲着它吧?你就必須得了解它,投其所好,這樣才能真正和平相處,爲你所用。那麼這個專場,就是讓http最終成爲你聽話的寵物。程序員

檢驗你http掌握狀況的幾個例子:

  1. 假設你的站點默認返回的是json格式數據,這時候忽然有客戶須要xml格式的了,怎麼辦?是在url里加上文件名後綴嗎,好比/dogs/corgi.json和/dogs/corgi.xml這樣來分別訪問?仍是用query參數,好比/dogs/corgi?query=json和/dogs/corgi?query=xml,這樣嗎?若是告訴你,這兩種都很是不規範呢?能想到真正合適的規範作法嗎?進而,對http的內容協商機制,有足夠的瞭解嗎?
  2. 假設你上面的問題用http的方式解決了,那麼隨着你的站點愈來愈火,你得加上緩存層了,好比varnish,原來你一個url能夠根據狀況輸出多種格式的內容,可是由於有了緩存層,它給你只緩存了一份怎麼辦?致使別的訪問另外一種格式的用戶,能獲取到的,只是最早被緩存到的格式,這可不行。你固然也不想,每一種格式,還都再去訪問一下後端,那樣要了緩存層還幹嗎,就起不到加速效果了,這個時候怎麼辦呢?能想到http自己的解決方案嗎?
  3. 好了,既然說到了性能,說到了緩存,並且以前學過咱們專場《【laravel國際會議】使用Varnish來構建應用「緩存層」和負載均衡》的同窗也都知道,不管是雲端的緩存層,好比varnish那些,仍是你本地的緩存,好比瀏覽器緩存,都嚴重依賴http相關的header才能實現,http header每每纔是各類緩存機制成功的關鍵,那麼,能夠問問本身,如何用http header加速本身的站點呢?你能想到哪些,它們分別的原理是怎樣的?
  4. 假設你的一個API接口上有較多json數據,加載一次還挺耗時的,可是你的用戶都是熊孩子,不知道節省你的資源和寬帶,就是一個勁地刷新,並且在實現的時候還故意用上輪詢腳本,假設就是一分鐘請求你三次,而你的資源並無那麼頻繁改動。你如何想個辦法,讓它在每次請求的時候,先檢查你的內容變了沒,沒變,就只返回個消息,不返回實際內容,變了他才獲得所有內容,這怎麼實現呢?因於此,考慮下,如何利用http作條件性請求呢?也即只有知足,或不知足某個條件,纔去發送相應請求,就像PHP裏的if判斷同樣,無非是用http來實現

若是這些問題你心有疑惑,那麼這個專場你不容錯過。web

專場觀看地址:【Laravel國際會議】HTTP原理詳解,與HTTP和氣相處

末了,歡迎到個人站點https://www.pilishen.com/來作客哦,也歡迎加入咱們的公開羣【公開課@pilishen.com】:109256050,等你哦~json

相關文章
相關標籤/搜索