當我們在瀏覽器的位址列輸入url後,資訊會被傳送到web伺服器,伺服器得到響應,將資料傳輸回來,展示到web頁面上,這其中的傳輸方法就是http協議。
只支援get請求方法,伺服器響應返回的資料格式為,html格式的字串;get / index.html
不支援請求頭,所以內容格式只能是純文字;
無狀態性,請求響應後關閉,若有錯誤,不返回錯誤碼;
除了get命令,還引入了post命令和head命令,豐富了瀏覽器與伺服器的互動手段。http請求和回應的格式也變了。除了資料部分,每次通訊都必須包括頭資訊(http header),用來描述一些元資料。
支援長連線(但預設還是使用短連線),快取機制,以及身份認證。
其他的新增功能還包括狀態碼(status code)、多字符集支援、多部分傳送(multi-part type)、許可權(authorization)、快取(cache)、內容編碼(content encoding)等。
持久連線。管道機制, 同時多個請求。
content-length 字段,宣告資料長度。
分塊傳輸編碼,提高效率。
新增了許多動詞方法:put、patch、head、 options、delete。
客戶端頭資訊增加 host 字段,表示請求的主體網域名稱。
二進位制協議資料流,可以取消請求在不中斷tcp連線的情況下,繼續被其它請求使用。
頭資訊壓縮
websoket全雙工通訊,可實現伺服器推送等。
http 協議入門-阮一峰
http協議的前世今生——各版本http協議對比
[**http協議-上野宣]
git 回滾某一版本
今天git commit 後,在git push 後面沒有加上 遠端分支,直接git push了,導致 沒有push 到origin 庫,而是直接push到了gitlab 庫。在gerrit上檢視一直沒有看到提交的資訊,但git fetch origin,git pull rebase,一直能拉下來...
git 推到某一版本 Git回退版本
不小心對node modules資料夾進行了修改,而且順手就push到遠端了,一下子多了幾百檔案changes,遂想辦法回退版本。首先用git log檢視版本號,找到想回退到的版本號,然後最笨的辦法就是當前做的東西手動複製貼上,然後整個檔案git reset hard 版本號。完成之後新增重新編輯檔...
SVN單一版本庫許可權配置
開啟授權訪問的配置 1.開啟f subversion svnrep oa conf svnserve.conf。這裡是你的版本庫的路徑 2.將第19行 anon access none取消注釋被修改心狠下面 anon access write表明該版本庫接受匿名訪問,但是在下面我們配置授權訪問的時候...