學點HTTP知識
不學無術
又一次感覺到不學無術,被人一問Http知識盡然一點也沒答上來,丟人丟到家了啊。平常也看許多的技術文章,為什麼到了關鍵時刻就答不出來呢?
確實發現一個問題,光看是沒有用的,需要實踐。看別人說的頭頭是道自己也覺得理解了,但發現再讓自己複述一遍可能完全就答不上來。這就是因為看別人的文章比較像看小說,腦子裡跟著作者的思路感覺好像挺懂的,其實也就是過眼雲煙。所以想要學好技術
- 一方面要看別人的總結,像是文章、書、原始碼
- 接著就是要自己去總結,例如寫寫博客,跑跑書裡面的程式碼,這樣可以加深理解。
- 最後就是要去用,特別是在工作中。如果一項技能已經用的非常熟練了想要忘都難。
為了讓自己對HTTP知識多一點印象,寫一篇部落格吧。由淺入深,慢慢來。
先簡單認識http
HTTP是超文本傳輸協議,這個協定是應用層協定。我的理解是在伺服器產生一段文本,在網路上傳輸,客戶端可以對其解析成視圖並提供互動。
http是由請求與回應構成,在設計時是無狀態協議,這樣每一次的操作基本上就是客戶端發起請求,服務端回傳回應。
Http請求與回應都包含:請求行、訊息標頭和訊息體。
常見的Header
說起header不複雜,但細細一看蠻多學問在裡面,只不過確實有點多,主要是還是先關註一些常見的吧。
通用頭域
- Cache-Control:指定請求和回應遵循的快取機制
- Connection:keep-alive:保持與伺服器的TCP連線
- Date:訊息發送的日期時間
- Pragma:用來包含實作特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1協定中,它的意義和Cache-Control:no-cache相同。
- Transfer-Encoding:chunked:分塊編碼
Request Header
- Request URL:請求的URL
- Request Method:要求的方法(OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT、PATCH)
- Remote Address:遠端伺服器的位址
- Accept:指定客戶端接收的MIME類型(text/html,application/xhtml+xml,application/xml)
- Accept-Encoding:指定客戶端接收的編碼,通常用於指定壓縮演算法(gzip, deflate, sdch)
- Accept-Language:指定客戶端接收的語言(zh-CN,zh)
- Accept-Charset:指定客戶端接收的字元集(gb2312,uft-8)
- Cookie:客戶端cookie資訊
- Host:請求的網域
- User-Agent:發起請求的使用者訊息,作業系統、瀏覽器版本等
- If-Modified-Since:伺服器上一次修改的時間
response header
- Content-Encoding:回應套件的編碼及壓縮演算法(gzip)
- Content-Type:回應包的資源類型(text/html; charset=utf-8)
- Expires:過期時間
- Last-Modified:最後修改時間
常見的狀態碼
- 200:請求已成功
- 201:請求已經實現,而且有一個新的資源已經依據請求的需要而建立,且其 URI 已經隨Location 頭信息返回
- 301/302:重定向
- 304:客戶端請求的資源未修改
- 400:錯誤的請求包
- 404:請求失敗,指定資源找不到
- 500:伺服器內部錯誤,通常是伺服器出錯了沒辦法回傳回應套件

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

本文討論了HTML< Progress>元素,其目的,樣式和與< meter>元素。主要重點是使用< progress>為了完成任務和LT;儀表>對於stati

本文討論了html< datalist>元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

本文討論了HTML< meter>元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了< meter>從< progress>和前

本文討論了視口元標籤,這對於移動設備上的響應式Web設計至關重要。它解釋瞭如何正確使用確保最佳的內容縮放和用戶交互,而濫用可能會導致設計和可訪問性問題。

本文討論了< iframe>將外部內容嵌入網頁,其常見用途,安全風險以及諸如對象標籤和API等替代方案的目的。

HTML適合初學者學習,因為它簡單易學且能快速看到成果。 1)HTML的學習曲線平緩,易於上手。 2)只需掌握基本標籤即可開始創建網頁。 3)靈活性高,可與CSS和JavaScript結合使用。 4)豐富的學習資源和現代工具支持學習過程。
