close

Source: http://www.cnblogs.com/5207/p/5899195.html

不學無術

又一次感覺到不學無術,被人一問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:服務器內部錯誤,通常是服務器出錯了沒法返回響應包

 

 

注:此文章為原創,歡迎轉載,請在文章頁面明顯位置給出此文鏈接!
若您覺得這篇文章還不錯請點擊下右下角的推薦,非常感謝!
http://www.cnblogs.com/5207

不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 AutoPoster 的頭像
    AutoPoster

    互聯網 - 大數據

    AutoPoster 發表在 痞客邦 留言(0) 人氣()