1. 程式人生 > >HTTP基本原理(格式詳解)

HTTP基本原理(格式詳解)

一、HTTP請求格式      

       做過Socket程式設計的人都知道,當我們設計一個通訊協議時,“訊息頭/訊息體”的分割方式是很常用的,訊息頭告訴對方這個訊息是幹什麼的,訊息體告訴對方怎麼幹。HTTP協議傳輸的訊息也是這樣規定的,每一個HTTP包都分為HTTP頭和HTTP體兩部分,訊息體是可選的,而訊息頭是必須的。每當我們開啟一個網頁,在上面點選右鍵,選擇“檢視原始檔”,這時看到的HTML程式碼就是HTTP的訊息體,那麼訊息頭可以通過瀏覽器的開發工具或者外掛可以看到,如果火狐的Firebug,IE的Httpwatch。

      客戶端通過傳送 HTTP 請求向伺服器請求對資源的訪問。 它向伺服器傳遞了一個數據塊,也就是請求資訊,HTTP 請求由三部分組成:請求行、請求頭和請求正文。

  (1)、請求行:請求方法 URI 協議/版本

  (2)、請求頭(Request Header)

 (3)、 請求正文

下面是一個HTTP請求的資料:

POST /index.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: <a target=_blank href="http://localhost/" style="color: rgb(51, 102, 153); text-decoration: none;">http://localhost/</a>
Content-Length:25
Content-Type:application/x-www-form-urlencoded
 
username=aa&password=1234

1、請求行:請求方法URI協議/版本

 請求的第一行是“方法 URL  協議/版本”,並以 回車換行作為結尾。請求行以空格分隔。格式如下:POST /index.php HTTP/1.1以上程式碼中“POST”代表請求方法,“/index.php”表示URI,“HTTP/1.1代表協議和協議的版本。        根據HTTP標準,HTTP請求可以使用多種請求方法。例如:HTTP1.1支援7種請求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。在Internet應用中,最常用的方法是GET和POST。         URL完整地指定了要訪問的網路資源,通常只要給出相對於伺服器的根目錄的相對目錄即可,因此總是以“/”開頭,最後,協議版本聲明瞭通訊過程中使用HTTP的版本。   

請求方法

在 HTTP 協議中,HTTP 請求可以使用多種請求方法,這些方法指明瞭要以何種方式來訪問 Request-URI 所標識的資源。HTTP1.1 支援的請求方法如下表所示:

HTTP1.1 中的請求方式:
方法作用
GET請求獲取由 Request-URI 所標識的資源
POST請求伺服器接收在請求中封裝的實體,並將其作為由 Request-Line 中的 Request-URI 所標識的資源的一部分
HEAD請求獲取由 Request-URI 所標識的資源的響應訊息報頭
PUT

請求伺服器儲存一個資源,並用 Request-URI 作為其識別符號

DELETE請求伺服器刪除由 Request-URI 所標識的資源
TRACE請求伺服器回送到的請求資訊,主要用於測試或診斷
CONNECT保留將來使用
OPTIONS請求查詢伺服器的效能,或者查詢與資源相關的選項和需求

重點介紹 GET、POST 和 HEAD 三個方法:

(1)GET

        GET 方法用於獲取由 Request-URI 所標識的資源的資訊,常見的形式是:

        GET Request-URI HTTP/1.1
        GET方法是預設的HTTP請求方法,例如當我們通過在瀏覽器的位址列中直接輸入網址的方式去訪問網頁的時候,瀏覽器採用的就是 GET 方法向伺服器獲取資源。

        我們可以使用GET方法來提交表單資料,用GET方法提交的表單資料只經過了簡單的編碼,同時它將作為URL的一部分向伺服器傳送,因此,如果使用GET方法來提交表單資料就存在著安全隱患上。例如:
         Http://localhost/login.php?username=aa&password=1234

        從上面的URL請求中,很容易就可以辯認出表單提交的內容。(?之後的內容)另外由於GET方法提交的資料是作為URL請求的一部分所以提交的資料量不能太大。這是因為瀏覽器對url的長度有限制

       各種瀏覽器也會對url的長度有所限制,下面是幾種常見瀏覽器的url長度限制:(單位:字元)

IE : 2803Firefox:65536Chrome:8182Safari:80000Opera:190000 

(2)POST

          POST方法是GET方法的一個替代方法,它主要是向Web伺服器提交表單資料,尤其是大批量的資料。 在請求頭資訊結束之後的兩個回車換行之後(實際是空一行),就是表單提交的資料。如上面提到的post表單資料:

        username=aa&password=1234

        POST方法克服了GET方法的一些缺點。通過POST方法提交表單資料時,資料不是作為URL請求的一部分而是作為標準資料傳送給Web伺服器,這就克服了GET方法中的資訊無法保密和資料量太小的缺點。因此,出於安全的考慮以及對使用者隱私的尊重,通常表單提交時採用POST方法。

  從程式設計的角度來講,如果使用者通過GET方法提交資料,則資料存放在QUERY_STRING環境變數中,而POST方法提交的資料則可以從標準輸入流中獲取。

 GET與POST方法有以下區別:

      1、  在客戶端,Get方式在通過URL提交資料,資料在URL中可以看到;POST方式,資料放在HTTP包的body中。

      2、 GET方式提交的資料大小有限制(因為瀏覽器對URL的長度有限制),而POST則沒有此限制。

      3、安全性問題。正如在(1)中提到,使用 Get 的時候,引數會顯示在位址列上,而 Post 不會。所以,如果這些資料是中文資料而且是非敏感資料,那麼使用 get;如果使用者輸入的資料不是中文字元而且包含敏感資料,那麼還是使用 post為好。

      4.、伺服器取值方式不一樣。GET方式取值,如php可以使用$_GET來取得變數的值,而POST方式通過$_POST來獲取變數的值。

(3)HEAD

     HEAD 方法與 GET 方法幾乎是相同的,它們的區別在於 HEAD 方法只是請求訊息報頭,而不是完整的內容。對於 HEAD 請求的迴應部分來說,它的 HTTP 頭部中包含的資訊與通過 GET 請求所得到的資訊是相同的。利用這個方法,不必傳輸整個資源內容,就可以得到 Request-URI 所標識的資源的資訊。這個方法通常被用於測試超連結的有效性,是否可以訪問,以及最近是否更新。

    要注意的是,在 HTML 文件中,書寫 get 和 post,大小寫都可以,但在 HTTP 協議中的 GET 和 POST 只能是大寫形式。

2. 請求頭

每個頭域由一個域名,冒號(:)和域值三部分組成。域名是大小寫無關的,域值前可以新增任何數量的空格符,頭域可以被擴充套件為多行,在每行開始處,使用至少一個空格或製表符。

HTTP最常見的請求頭如下:

Transport 頭域

Connection:

作用:表示是否需要持久連線。

如果伺服器看到這裡的值為“Keep-Alive”,或者看到請求使用的是HTTP 1.1(HTTP 1.1預設進行持久連線),它就可以利用持久連線的優點,當頁面包含多個元素時(例如Applet,圖片),顯著地減少下載所需要的時間。要實現這一點,伺服器需要在應答中傳送一個Content-Length頭,最簡單的實現方法是:先把內容寫入 ByteArrayOutputStream,然後在正式寫出內容之前計算它的大小;

例如: Connection: keep-alive   當一個網頁開啟完成後,客戶端和伺服器之間用於傳輸HTTP資料的TCP連線不會關閉,如果客戶端再次訪問這個伺服器上的  網頁,會繼續使用這一條已經建立的連線

例如:  Connection: close  代表一個Request完成後,客戶端和伺服器之間用於傳輸HTTP資料的TCP連線會關閉,  當客戶端再次傳送Request,需要重新建立TCP連線。

Host(傳送請求時,該報頭域是必需的)

Host請求報頭域主要用於指定被請求資源的Internet主機和埠號,它通常從HTTP URL中提取出來的。

此處使用預設埠號80,若指定了埠號8080,則變成:Host:localhost:8080

Client 頭域

Accept:

作用:瀏覽器可以接受的媒體型別(MIME型別),

例如:  Accept: text/html  代表瀏覽器可以接受伺服器回發的型別為 text/html  也就是我們常說的html文件, 如果伺服器無法返回text/html型別的資料,伺服器應該返回一個406錯誤(non acceptable)。

萬用字元 * 代表任意型別。例如  Accept: */*  代表瀏覽器可以處理所有型別,(一般瀏覽器發給伺服器都是發這個)

Accept-Encoding:

作用: 瀏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支援壓縮,支援什麼壓縮方法(gzip,deflate),(注意:這不是隻字元編碼);

例如: Accept-Encoding: gzip, deflate。Server能夠向支援gzip/deflate的瀏覽器返回經gzip或者deflate編碼的HTML頁面。 許多情形下這可以減少5到10倍的下載時間,也節省頻寬。

Accept-Language:

作用: 瀏覽器申明自己接收的語言。 

語言跟字符集的區別:中文是語言,中文有多種字符集,比如big5,gb2312,gbk等等;

例如: Accept-Language:zh-cn 。如果請求訊息中沒有設定這個報頭域,伺服器假定客戶端對各種語言都可以接受。

User-Agent:

作用:告訴HTTP伺服器, 客戶端使用的作業系統和瀏覽器的名稱和版本.

我們上網登陸論壇的時候,往往會看到一些歡迎資訊,其中列出了你的作業系統的名稱和版本,你所使用的瀏覽器的名稱和版本,這往往讓很多人感到很神奇,實際上, 伺服器應用程式就是從User-Agent這個請求報頭域中獲取到這些資訊User-Agent請求報頭域允許客戶端將它的作業系統、瀏覽器和其它屬性告訴伺服器。

例如: User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; InfoPath.2; .NET4.0E)

Accept-Charset:

作用:瀏覽器申明自己接收的字符集,這就是本文前面介紹的各種字符集和字元編碼,如gb2312,utf-8(通常我們說Charset包括了相應的字元編碼方案);

例如:Accept-Charset:iso-8859-1,gb2312.如果在請求訊息中沒有設定這個域,預設是任何字符集都可以接受。

Authorization:授權資訊,通常出現在對伺服器傳送的WWW-Authenticate頭的應答中;

Authorization請求報頭域主要用於證明客戶端有權檢視某個資源。當瀏覽器訪問一個頁面時,如果收到伺服器的響應程式碼為401(未授權),可以傳送一個包含Authorization請求報頭域的請求,要求伺服器對其進行驗證。

Cookie/Login 頭域

Cookie:

作用: 最重要的header, 將cookie的值傳送給HTTP 伺服器

Entity頭域

Content-Length

作用:傳送給HTTP伺服器資料的長度。即請求訊息正文的長度;

例如: Content-Length: 38

Content-Type:

作用:

例如:Content-Type: application/x-www-form-urlencoded

Miscellaneous 頭域

Referer:

作用: 提供了Request的上下文資訊的伺服器,告訴伺服器我是從哪個連結過來的,比如從我主頁上鍊接到一個朋友那裡, 他的伺服器就能夠從HTTP Referer中統計出每天有多少使用者點選我主頁上的連結訪問    他的網站。

例如: Referer:http://translate.google.cn/?hl=zh-cn&tab=wT

Cache 頭域

If-Modified-Since:

作用: 把瀏覽器端快取頁面的最後修改時間傳送到伺服器去,伺服器會把這個時間與伺服器上實際檔案的最後修改時間進行對比。如果時間一致,那麼返回304,客戶端就直接使用本地快取檔案。如果時間不一致,就會返回200和新的檔案內容。客戶端接到之後,會丟棄舊檔案,把新檔案快取起來,並顯示在瀏覽器中。

例如:If-Modified-Since: Thu, 09 Feb 2012 09:07:57 GMT。

If-None-Match:

作用: If-None-Match和ETag一起工作,工作原理是在HTTP Response中新增ETag資訊。 當用戶再次請求該資源時,將在HTTP Request 中加入If-None-Match資訊(ETag的值)。如果伺服器驗證資源的ETag沒有改變(該資源沒有更新),將返回一個304狀態告訴客戶端使用本地快取檔案。否則將返回200狀態和新的資源和Etag.  使用這樣的機制將提高網站的效能

例如: If-None-Match: "03f2b33c0bfcc1:0"

Pragma:

作用: 防止頁面被快取, 在HTTP/1.1版本中,它和Cache-Control:no-cache作用一模一樣

Pargma只有一個用法, 例如: Pragma: no-cache

注意: 在HTTP/1.0版本中,只實現了Pragema:no-cache, 沒有實現Cache-Control

Cache-Control:

作用: 這個是非常重要的規則。 這個用來指定Response-Request遵循的快取機制。各個指令含義如下

Cache-Control:Public   可以被任何快取所快取()

Cache-Control:Private     內容只快取到私有快取中

Cache-Control:no-cache  所有內容都不會被快取

二、 HTTP響應格式      

      在接收和解釋請求訊息後,伺服器會返回一個 HTTP 響應訊息。與 HTTP 請求類似,HTTP 響應也是由三個部分組成,分別是:狀態行、訊息報頭和響應正文。如:

<p>HTTP/1.1 200 OK
Date: Sun, 17 Mar 2013 08:12:54 GMT
Server: Apache/2.2.8 (Win32) PHP/5.2.5
X-Powered-By: PHP/5.2.5
Set-Cookie: PHPSESSID=c0huq7pdkmm5gg6osoe3mgjmm3; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 4393
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8</p><p>
<html>
<head>
<title>HTTP響應示例<title>
</head>
<body>
Hello HTTP!
</body>
</html></p><p> </p>

1、狀態行

       狀態行由協議版本、數字形式的狀態程式碼,及相應的狀態描述組成,各元素之間以空格分隔,結尾時回車換行符,格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

HTTP-Version 表示伺服器 HTTP 協議的版本,Status-Code 表示伺服器發回的響應程式碼,Reason-Phrase 表示狀態程式碼的文字描述,CRLF 表示回車換行。例如:

HTTP/1.1 200 OK (CRLF)

      狀態程式碼與狀態描述

      狀態程式碼由 3 位數字組成, 表示請求是否被理解或被滿足,狀態描述給出了關於狀態碼的簡短的文字描述。狀態碼的第一個數字定義了響應類別,後面兩位數字沒有具體分類。第一個數字有 5 種取值,如下所示。

  • 1xx:指示資訊——表示請求已經接受,繼續處理
  • 2xx:成功——表示請求已經被成功接收、理解、接受。
  • 3xx:重定向——要完成請求必須進行更進一步的操作
  • 4xx:客戶端錯誤——請求有語法錯誤或請求無法實現
  • 5xx:伺服器端錯誤——伺服器未能實現合法的請求。

常見狀態程式碼、狀態描述、說明:
200 OK      //客戶端請求成功
400 Bad Request  //客戶端請求有語法錯誤,不能被伺服器所理解
401 Unauthorized //請求未經授權,這個狀態程式碼必須和WWW-Authenticate報頭域一起使用 
403 Forbidden  //伺服器收到請求,但是拒絕提供服務
404 Not Found  //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error //伺服器發生不可預期的錯誤
503 Server Unavailable  //伺服器當前不能處理客戶端的請求,一段時間後可能恢復正常

2、響應正文

響應正文就是伺服器返回的資源的內容,響應頭和正文之間也必須用空行分隔。如:

  1. <html>
  2. <head>
  3. <title>HTTP響應示例<title>
  4. </head>
  5. <body>
  6. Hello HTTP!  
  7. </body>
  8. </html>

3 、響應頭資訊

HTTP最常見的響應頭如下所示:

Cache頭域

Date:

作用:生成訊息的具體時間和日期,即當前的GMT時間。

例如: Date: Sun, 17 Mar 2013 08:12:54 GMT

Expires:

作用: 瀏覽器會在指定過期時間內使用本地快取,指明應該在什麼時候認為文件已經過期,從而不再快取它。

例如: Expires: Thu, 19 Nov 1981 08:52:00 GMT  

Vary

作用:

例如: Vary: Accept-Encoding

Cookie/Login 頭域

P3P

作用: 用於跨域設定Cookie, 這樣可以解決iframe跨域訪問cookie的問題

例如: P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR

Set-Cookie

作用: 非常重要的header, 用於把cookie 傳送到客戶端瀏覽器, 每一個寫入cookie都會生成一個Set-Cookie.

例如: Set-Cookie: PHPSESSID=c0huq7pdkmm5gg6osoe3mgjmm3; path=/

Entity實體頭域:

            實體內容的屬性,包括實體資訊型別,長度,壓縮方法,最後一次修改時間,資料有效性等。

ETag:

作用:  和If-None-Match 配合使用。 (例項請看上節中If-None-Match的例項)

例如: ETag: "03f2b33c0bfcc1:0"

Last-Modified:

作用: 用於指示資源的最後修改日期和時間。(例項請看上節的If-Modified-Since的例項)

例如: Last-Modified: Wed, 21 Dec 2011 09:09:10 GMT

Content-Type:

作用:WEB伺服器告訴瀏覽器自己響應的物件的型別和字符集,

例如:

        Content-Type: text/html; charset=utf-8

  Content-Type:text/html;charset=GB2312

  Content-Type: image/jpeg

Content-Length:

指明實體正文的長度,以位元組方式儲存的十進位制數字來表示。在資料下行的過程中,Content-Length的方式要預先在伺服器中快取所有資料,然後所有資料再一股腦兒地發給客戶端。

  例如: Content-Length: 19847

Content-Encoding:

作用:文件的編碼(Encode)方法。一般是壓縮方式。

WEB伺服器表明自己使用了什麼壓縮方法(gzip,deflate)壓縮響應中的物件。利用gzip壓縮文件能夠顯著地減少HTML文件的下載時間。

例如:Content-Encoding:gzip

Content-Language:

作用: WEB伺服器告訴瀏覽器自己響應的物件的語言者

例如: Content-Language:da

Miscellaneous 頭域

Server:

作用:指明HTTP伺服器的軟體資訊

例如:Apache/2.2.8 (Win32) PHP/5.2.5

X-Powered-By:

作用:表示網站是用什麼技術開發的

例如: X-Powered-By: PHP/5.2.5

Transport頭域

Connection:

例如: Connection: keep-alive   當一個網頁開啟完成後,客戶端和伺服器之間用於傳輸HTTP資料的TCP連線不會關閉,如果客戶端再次訪問這個伺服器上的網頁,會繼續使用這一條已經建立的連線

例如:  Connection: close  代表一個Request完成後,客戶端和伺服器之間用於傳輸HTTP資料的TCP連線會關閉, 當客戶端再次傳送Request,需要重新建立TCP連線。

Location頭域

Location:

作用: 用於重定向一個新的位置, 包含新的URL地址

例項請看304狀態例項

三、 補充

HTTP協議是無狀態的和Connection: keep-alive的區別

  無狀態是指協議對於事務處理沒有記憶能力,伺服器不知道客戶端是什麼狀態。從另一方面講,開啟一個伺服器上的網頁和你之前開啟這個伺服器上的網頁之間沒有任何聯絡。

  HTTP是一個無狀態的面向連線的協議,無狀態不代表HTTP不能保持TCP連線,更不能代表HTTP使用的是UDP協議(無連線)。

  從HTTP/1.1起,預設都開啟了Keep-Alive,保持連線特性,簡單地說,當一個網頁開啟完成後,客戶端和伺服器之間用於傳輸HTTP資料的TCP連線不會關閉,如果客戶端再次訪問這個伺服器上的網頁,會繼續使用這一條已經建立的連線。

  Keep-Alive不會永久保持連線,它有一個保持時間,可以在不同的伺服器軟體(如Apache)中設定這個時間。

  由於HTTP在每次請求結束後都會主動釋放連線,因此HTTP連線是一種“短連線”,要保持客戶端程式的線上狀態,需要不斷地向伺服器發起連線請求。通常 的做法是即時不需要獲得任何資料,客戶端也保持每隔一段固定的時間向伺服器傳送一次“保持連線”的請求,伺服器在收到該請求後對客戶端進行回覆,表明知道 客戶端“線上”。若伺服器長時間無法收到客戶端的請求,則認為客戶端“下線”,若客戶端長時間無法收到伺服器的回覆,則認為網路已經斷開

相關推薦

HTTP基本原理格式

一、HTTP請求格式             做過Socket程式設計的人都知道,當我們設計一個通訊協議時,“訊息頭/訊息體”的分割方式是很常用的,訊息頭告訴對方這個訊息是幹什麼的,訊息體告訴對方怎麼幹。HTTP協議傳輸的訊息也是這樣規定的,每一個HTTP包都分為HTTP頭和

HDU 2204 容斥原理過程

Ignatius 喜歡收集蝴蝶標本和郵票,但是Eddy的愛好很特別,他對數字比較感興趣,他曾經一度沉迷於素數,而現在他對於一些新的特殊數比較有興趣。  這些特殊數是這樣的:這些數都能表示成M^K,M和K是正整數且K>1。   正當他再度沉迷的時候,他發現不知道什麼時

Tensorflow 入門學習13.卷積神經網路原理3.網路結構

本文學習內容來自《TensorFlow深度學習應用實踐》 從前面介紹的卷積運算的基本原理和概念,從本質上來說卷積神經網路就是將影象處理的二維離散卷積運算和神經網路相結合。這種卷積運算可以用於自動提取特徵,而卷積神經網路也主要應用於二維影象的識別。 卷積神經網路原

HTTP基本原理簡介

原文:http://blog.csdn.NET/hguisu/article/details/86808081. HTTP簡介         HTTP協議(HyperText Transfer Protocol,超文字傳輸協議)是用於從WWW伺服器傳輸超文字到本地瀏覽器的傳

全網最詳細的如何在谷歌瀏覽器里正確下載並安裝Postman【一款功能強大的網頁除錯與傳送網頁HTTP請求的Chrome外掛】圖文

     不多說,直接上乾貨!     想必,玩過Java Web的你,肯定是對於http post和get等請求測試的過程記憶猶新吧。     Postman的安裝方法分好幾種,主要分為兩種安裝模式介紹:       (1)chrome瀏覽器postman 外掛安裝  【本

cloudermanager安裝過程中出現W:GPG error錯誤 http://ppa.launchpad.net.trusty Release **** 4DF9B28CA252A784圖文

歡迎您的加入! 微信公眾號平臺: 大資料躺過的坑 微信公眾號平臺: 人工智慧躺過的坑 大資料和人工智慧躺過的坑(總群): 161156071 更多QQ技術分群,詳情請見:http://www.cnblogs.com/zls

記憶體模型堆和棧工作原理,String

   JVM主要管理兩種型別記憶體:堆和非堆。 1.堆是執行時資料區域,所有類例項和陣列的記憶體均從此處分配,這些物件通過new、newarray、 anewarray和multianewarray等

python介面自動化四十一- 發xml格式引數的post請求

簡介   最近在工作中,遇到一種奇葩的介面,它的引數資料是通過xml,進行傳遞的,不要大驚小怪的,林子大了什麼鳥都有,每個人的思路想法不一樣,開發的介面也是各式各樣的,如果想要統一的話,必須是提前團隊已經做好溝通定好規則,這樣就像在產品線上生成一 樣規格大小一致。就不會出現前邊的問題了,如果出現了怎麼辦?

jumpserver-0.3.2 堡壘機環境搭建圖文

其他 install yum mage -128 req isa 解決 qq密碼 下載安裝包:https://github.com/jumpserver/jumpserver.git 解壓 三、執行快速安裝腳本 cd /opt/jumpserver/install pip

Wireshark安裝使用及報文分析圖文

p s 技術 cap cut .net 信息 display 過程 數據 Wireshark是世界上最流行的網絡分析工具。這個強大的工具可以捕捉網絡中的數據,並為用戶提供關於網絡和上層協議的各種信息。與很多其他網絡工具一樣,Wireshark也使用pcapnetwork l

C#基礎 一方法

命名 可選參數 編譯 標記 .com 操作 改變 根據 ref 需要知道:類和方法的關系 方法和參數修飾符 自定義方法可以有或沒有參數,也可以有或沒有返回值。可以被各種關鍵字(static、virtual、public、new等)修飾以限制其行為。

CSS屬性:背景屬性圖文

顏色 開發 github上 屬性。 一起 有用 class -a 設計 本文最初發表於博客園,並在GitHub上持續更新前端的系列文章。歡迎在GitHub上關註我,一起入門和進階前端。 以下是正文。 background系列屬性 常見背景屬性 CSS樣式中,常見的背

Microsoft Power BI Desktop概念學習系列之Microsoft Power BI Desktop的下載和安裝圖文

-c gpo mic sof mage pos microsoft body 技術分享   不多說,直接上幹貨!   官網 https://powerbi.microsoft.com/zh-cn/downloads/

Fiddler Web Debugger是什麽?圖文

詳情 頁面 web客戶端 機器 代理人 博客 有用 style 攻擊     不多說,直接上幹貨! 1、為什麽是Fiddler?   抓包工具有很多,小到最常用的web調試工具firebug,達到通用的強大的抓包工具

Fiddler Web Debugger的下載和安裝圖文

下載安裝 get html lan href bug pro 人生苦短 所有       不多說,直接上幹貨!   Fiddler是一個http協議調試代理工具,它能夠記錄客戶端和服務器之間的所有 HTTP請求,可以針對特定的HTTP請

全網最詳細的跑python2.7時出現from mysql import connector ImportError: No module named mysql的問題解決辦法圖文

領域 conda load 機器學習 同時 精華 center mod con     不多說,直接上幹貨! C:\Users\lenovo>pip install mysql-connector-python-rf==2.1.3 Col

Java學習筆記54反射

pos code 重名 java學習筆記 spl catch 兩種 new fig 反射概念: java反射機制是在運行狀態中,對於任意一個類,都能知道所有屬性和方法 對於任意一個對象都能調用它的任意一個方法和屬性,這種動態獲取和調用的功能稱為java的反射機制 實際作

SPSS學習系列之SPSS Modeler怎麽修改默認的內存大小圖文

隨著 大數據 com 微信公眾 深度 內存配置 圖文 font png     不多說,直接上幹貨!  問題來源:         如果你的電腦內存配置比較低的話,會隨著數據量增加(尤其是大數據),帶不起的情況很有可能發生,會出現一些內存報

Disconf 學習系列之全網最詳細的最新穩定Disconf 搭建部署基於Ubuntu14.04 / 16.04圖文

class 6.0 conf ubuntu14 穩定 div ubun 搭建 學習   不多說直接上幹貨! https://www.cnblogs.com/wuxiaofeng/p/6882596.html (ubuntu16.04) https

Disconf 學習系列之全網最詳細的最新穩定Disconf 搭建部署基於Windows7 / 8 / 10圖文

分享 study str www windows 最新 1.8 環境 text   不多說,直接上幹貨! 工作環境以及安裝依賴軟件 Zookeeper-3.4.8 Disconf 2.6.36 Nginx 1.9.9(見如下博文的phpstu