一.http是什麼?
1.http協議:hypertext transfer protocol,超文字傳輸協議
2.網際網路上應用最為廣泛的一種網路傳輸協議,用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的傳輸協議,
所有的www檔案必須遵守這個標準,
3.http是乙個基於tcp/ip通訊協議來傳遞資料
二.http有哪些特點?
1.http協議工作在客戶端-服務端架構上(b/s架構,這裡的客戶端僅指瀏覽器)
2.瀏覽器作為http客戶端通過url向http服務端即web伺服器傳送所有請求
3.http預設埠號為80,但是你也可以改為8080或者其他埠
4.http是無連線的,即每次連線只處理乙個請求,伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線,
採用這種方式可以節省傳輸時間(用完即走,再用時必須重新發起請求,不存在佔著茅坑的現象)
5.http是無狀態的,即對於事務處理沒有記憶能力,如果後續處理需要前面的資訊,則必須重傳,
這樣可能導致每次連線傳送的資料量增大,另一方面,在伺服器不需要先前資訊時它的應答就較快
(這意味著每個請求都是獨立的,即便是兩個一模一樣的請求也會被當做是兩個請求)
6.http是**獨立的:即只要是客戶端和伺服器知道如何處理的資料內容,任何型別的資料都可以通過http傳送
擴充套件:瀏覽器記住密碼,和記錄訪問ip是如何實現的?
三.http請求有哪幾部分組成?
乙個http請求一般有四部分組成:
1.http請求的方法,比如是get還是post請求
2.正在請求的url,總得知道請求的位址是什麼吧
3.請求頭,包含一些客戶端環境資訊,身份驗證資訊等
4.請求體,也就是請求正文,請求正文中可以包含客戶端提交的查詢資訊,表單資訊
注意:一般來說請求頭和請求體之間有乙個空行,這個空行非常重要,它表示請求頭已經結束,
接下來的內容便是請求體
四.http的請求過程是什麼樣子的?
乙個完整的http請求過程,一般有以下七個步驟:
1.建立tcp連線接
2.web瀏覽器向web伺服器伺服器傳送請求命令
3.web瀏覽器傳送請求頭資訊
4.web伺服器應答
5.web伺服器傳送應答頭資訊
6.web伺服器向瀏覽器傳送資料
7.web伺服器關閉tcp連線
五.什麼是get和post請求?
get請求一般用於獲取伺服器的資訊,它有以下特點:
1.使用url傳遞引數,也就是引數是可見的
2.對傳送資訊的數量也有限制,一般在2000個字元左右
post請求一般用於修改伺服器上的資源,它有以下特點:
1.不使用url傳遞引數,即引數對使用者是不可見的
2.對傳送的資訊數量是無限制的
注意:表單一般用post方式提交,post請求的引數一般都嵌入在請求體中,對使用者是不可見的,
不過可以使用工具攔截,如fiddler等
六.http響應有哪幾部分組成:
乙個http請求一般有三部分組成:
1.乙個數字或文字組成的狀態碼,用來顯示請求成功還是失敗
2.響應頭,包含的資訊有伺服器型別,日期,時間見內容型別和長度等
3.響應體,也就是響應的正文
七.http的狀態碼有哪些型別?
http的狀態碼一般有3位數字構成,其型別如下:
1xx:資訊類,表示收到web瀏覽器請求,正在進一步處理中
2xx:成功,表示使用者請求被正確接收,理解和處理
3xx:重定向,表示請求沒有成功,客戶必須採取進一步的動作
4xx:客戶端錯誤,表示客戶端提交的請求有錯誤,如404 not found,請求的檔案不存在
5xx:伺服器錯誤,表示伺服器不能完成對請求的處理
熟悉又陌生的正則匹配之基礎篇
從當前專案中,隨便拉了一塊兒小 vue.prototype.getquerystring function name 功能麼,就是從url中匹配出key等於入參為name的值。這段 直接簡化,把被匹配的url字串和入參name變成已知,來看看結果是啥 var name d var reg new r...
ifconfig 最熟悉又陌生的命令列
當面試聽到這個問題的時候,面試者常常會覺得走錯了房間。我面試的是技術崗位啊,怎麼問這麼簡單的問題?的確,即便沒有專業學過計算機的人,只要倒騰過電腦,重灌過系統,大多也會知道這個問題的答案 在 windows 上是 ipconfig,在 linux 上是 ifconfig。那你知道在 linux 上還...
最熟悉的陌生人 MVC
以前開發ios程式的時候用的最多的是mvc的設計模式,這種軟體架構的模式是由 模型 model 螢幕中展示的 檢視 view 如何展示的 和控制器 controller 程式的資料,本質 三部分組成。具體的使用很簡單,本質上來說就是 模型 model 響應使用者請求並返回響應資料,檢視 view 負...