1. 程式人生 > >Http請求格式和響應格式

Http請求格式和響應格式

HTTP請求格式 當瀏覽器向Web伺服器發出請求時,它向伺服器傳遞了一個數據塊,也就是請求資訊,HTTP請求資訊由3部分組成: l請求方法URI協議/版本 l請求頭(Request Header) l請求正文 下面是一個HTTP請求的例子: GET/sample.jspHTTP/1.1 Accept:image/gif.image/jpeg,*/* Accept-Language:zh-cn Connection:Keep-Alive Host:localhost User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0) Accept-Encoding:gzip,deflate username=jinqiao&password=1234 (1)請求方法URI協議/版本 請求的第一行是“方法URL議/版本”:GET/sample.jsp HTTP/1.1 以上程式碼中“GET”代表請求方法,“/sample.jsp”表示URI,“HTTP/1.1代表協議和協議的版本。 根據HTTP標準,HTTP請求可以使用多種請求方法。例如:HTTP1.1支援7種請求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。在Internet應用中,最常用的方法是GET和POST。 URL完整地指定了要訪問的網路資源,通常只要給出相對於伺服器的根目錄的相對目錄即可,因此總是以“/”開頭,最後,協議版本聲明瞭通訊過程中使用HTTP的版本。 (2) 請求頭(Request Header) 請求頭包含許多有關的客戶端環境和請求正文的有用資訊。例如,請求頭可以宣告瀏覽器所用的語言,請求正文的長度等。 Accept:image/gif.image/jpeg.*/* Accept-Language:zh-cn Connection:Keep-Alive Host:localhost User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0) Accept-Encoding:gzip,deflate. (3) 請求正文 請求頭和請求正文之間是一個空行,這個行非常重要,它表示請求頭已經結束,接下來的是請求正文。請求正文中可以包含客戶提交的查詢字串資訊: username=jinqiao&password=1234 在以上的例子的HTTP請求中,請求的正文只有一行內容。當然,在實際應用中,HTTP請求正文可以包含更多的內容。 HTTP請求方法我這裡只討論GET方法與POST方法 lGET方法 GET方法是預設的HTTP請求方法,我們日常用GET方法來提交表單資料,然而用GET方法提交的表單資料只經過了簡單的編碼,同時它將作為URL的一部分向Web伺服器傳送,因此,如果使用GET方法來提交表單資料就存在著安全隱患上。例如 從上面的URL請求中,很容易就可以辯認出表單提交的內容。(?之後的內容)另外由於GET方法提交的資料是作為URL請求的一部分所以提交的資料量不能太大 lPOST方法 POST方法是GET方法的一個替代方法,它主要是向Web伺服器提交表單資料,尤其是大批量的資料。POST方法克服了GET方法的一些缺點。通過POST方法提交表單資料時,資料不是作為URL請求的一部分而是作為標準資料傳送給Web伺服器,這就克服了GET方法中的資訊無法保密和資料量太小的缺點。因此,出於安全的考慮以及對使用者隱私的尊重,通常表單提交時採用POST方法。   從程式設計的角度來講,如果使用者通過GET方法提交資料,則資料存放在QUERY_STRING環境變數中,而POST方法提交的資料則可以從標準輸入流中獲取。
HTTP應答與HTTP請求相似,HTTP響應也由3個部分構成,分別是: l 協議/版本  狀態碼 描述 l 響應頭(Response Header) l 響應正文 下面是一個HTTP響應的例子: HTTP/1.1 200 OK Server:Apache Tomcat/5.0.12 Date:Mon,6Oct2003 13:23:42 GMT Content-Length:112    <html>
     <head>      <title>HTTP響應示例<title>  </head>  <body>       Hello HTTP!  </body> </html>
協議版本狀態程式碼描述HTTP響應的第一行類似於HTTP請求的第一行,它表示通訊所用的協議是HTTP1.1伺服器已經成功的處理了客戶端發出的請求(200表示成功): HTTP/1.1 200 OK
響應頭(Response Header)響應頭也和請求頭一樣包含許多有用的資訊,例如伺服器型別、日期時間、內容型別和長度等:    Server:Apache Tomcat/5.0.12 Date:Mon,6Oct2003 13:13:33 GMT Content-Type:text/html Last-Moified:Mon,6 Oct 2003 13:23:42 GMT Content-Length:112  響應正文響應正文就是伺服器返回的HTML頁面:   <html>
<head> <title>HTTP響應示例<title> </head> <body> Hello HTTP! </body> </html> 響應頭和正文之間也必須用空行分隔。  
lHTTP應答碼    HTTP應答碼也稱為狀態碼,它反映了Web伺服器處理HTTP請求狀態。HTTP應答碼由3位數字構成,其中首位數字定義了應答碼的型別:   1XX-資訊類(Information),表示收到Web瀏覽器請求,正在進一步的處理中   2XX-成功類(Successful),表示使用者請求被正確接收,理解和處理例如:200 OK       3XX-重定向類(Redirection),表示請求沒有成功,客戶必須採取進一步的動作。       4XX-客戶端錯誤(Client Error),表示客戶端提交的請求有錯誤 例如:404 NOT                                        Found,意味著請求中所引用的文件不存在。       5XX-伺服器錯誤(Server Error)表示伺服器不能完成對請求的處理:如 500       對於我們Web開發人員來說掌握HTTP應答碼有助於提高Web應用程式除錯的效率和準確性。



安全連線 Web應用最常見的用途之一是電子商務,可以利用Web伺服器端程式使人們能夠網路購物,需要指出一點是,預設情況下,通過Internet傳送資訊是不安全的,如果某人碰巧截獲了你發給朋友的一則訊息,他就能開啟它,假想在裡面有你的信用卡號碼,這會有多麼糟糕,幸運的是,很多Web伺服器以及Web瀏覽器都有創立安全連線的能力,這樣它們就可以安全的通訊了。 通過Internet提供安全連線最常見的標準是安全套接層(Secure Sockets layer,SSl)協議。SSL協議是一個應用層協議(和HTTP一樣),用於安全方式在Web上交換資料,SSL使用公開金鑰編碼系統。從本質講,這意味著業務中每一方都擁有一個公開的和一個私有的金鑰。當一方使用另一方公開金鑰進行編碼時,只有擁有匹配金鑰的人才能對其解碼。簡單來講,公開金鑰編碼提供了一種用於在兩方之間交換資料的安全方法,SSL連線建立之後,客戶和伺服器都交換公開金鑰,並在進行業務聯絡之前進行驗證,一旦雙方的金鑰都通過驗證,就可以安全地交換資料。
  • GET
    通過請求URI得到資源
  • POST,
    用於新增新的內容
  • PUT
    用於修改某個內容
  • DELETE,
    刪除某個內容
  • CONNECT,
    用於代理進行傳輸,如使用SSL
  • OPTIONS
    詢問可以執行哪些方法
  • PATCH,
    部分文件更改
  • PROPFIND, (wedav)
    檢視屬性
  • PROPPATCH, (wedav)
    設定屬性
  • MKCOL, (wedav)
    建立集合(資料夾)
  • COPY, (wedav)
    拷貝
  • MOVE, (wedav)
    移動
  • LOCK, (wedav)
    加鎖
  • UNLOCK (wedav)
    解鎖
  • TRACE
    用於遠端診斷伺服器
  • HEAD
    類似於GET, 但是不返回body資訊,用於檢查物件是否存在,以及得到物件的元資料
apache2中,可使用Limit,LimitExcept進行訪問控制的方法包括:GETPOSTPUTDELETECONNECT,OPTIONSPATCHPROPFINDPROPPATCHMKCOLCOPYMOVELOCK, 和 UNLOCK. 其中, HEAD GET POST OPTIONS PROPFIND是和讀取相關的方法,MKCOL PUT DELETE LOCK UNLOCK COPY MOVE PROPPATCH是和修改相關的方法

轉自:https://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html

相關推薦

Http請求方式響應 協議的格式

HTTP協議 的請求和響應 一、關於HTTP協議 1.HTTP(hypertext transport protocol),即超文字傳輸協議。 這個協議詳細規定了瀏覽器和全球資訊網伺服器之間互相通訊的規則。 2.客戶端與服務端通訊時傳輸的內容我

Http請求格式響應格式

HTTP請求格式 當瀏覽器向Web伺服器發出請求時,它向伺服器傳遞了一個數據塊,也就是請求資訊,HTTP請求資訊由3部分組成: l請求方法URI協議/版本 l請求頭(Request Header) l請求正文 下面是一個HTTP請求的例子: GET/samp

HTTP 請求報文響應報文的格式

HTTP 請求報文 由請求行、請求頭部、空行 和 請求包體 4 個部分組成:   (1)請求行:請求行由方法欄位、URL 欄位 和HTTP 協議版本欄位 3 個部分組成,他們之間使用空格隔開。常用的 HTTP 請求方法有 GET、POST、HEAD、PUT、DELETE、OPTIONS、TRA

HTTP請求響應

.cn 訪問 htm ref 頁面 格式 技術分享 -s charset 這篇文章簡單總結一下HTTP請求頭和響應頭,並舉一些web開發中響應頭的用例。 1. HTTP請求頭 accept:瀏覽器通過這個頭告訴服務器,它所支持的數據類型。如:text/html,

HTTP請求報文響應報文

狀態碼 技術分享 http ima cto con 例如 消息 char 請求報文 請求報文包含請求行、請求頭部、請求正文,還有空行。 請求行 由請求方法、URL和協議版本組成。 請求方法包括:GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE 協

http請求響應頭詳細解釋

pad 使用 after 網絡資源 max OS lai 通信 緩存 想對http請求頭和響應頭有更細致的了解,請看如下 Requests部分 Header解釋示例 Accept 指定客戶端能夠接收的內容類型 Accept: text/plain, text/html

Wireshark的HTTP請求響應包如何對應

以Wireshark2.6.3版本為例,如下圖所示,紅框中的803是一次HTTP的GET請求包,綠框中的809、810兩條記錄都是響應包,究竟哪個是803的響應包呢?接下來介紹三種方式識別; 通過傳輸控制協議資訊識別 如下圖,點選803這條記錄後,在下面的

16,python實現----HTTP請求報文響應報文

import socket import re ''' 請求報文: 請求行: GET / HTTP/1.1 請求行格式: 請求方式 請求的資源路徑 HTTP版本 請求頭: Host: www.baidu.com

http請求響應頭的報文體詳解

示例:<?$filename =  './download/d.rar ';$filesize =  filesize($filename);header( "Content-Type: application/force-download ");header( "Content-Disposition

HTTP請求響應頭總結大全

1、http請求頭 Accept: 用於告訴伺服器,客戶機所支援的資料型別 Accept-Charset: 用於告訴伺服器,客戶機所採用的碼錶 Accept-Encoding: 用於告訴伺服器,客戶機所支援的資料壓縮格式 Accept-Language: 用於告訴伺服器,客

HTTP請求報文響應報文(簡書)

文章作者:Tyan部落格:noahsnail.com  |  CSDN  |  簡書1. HTTP報文HTTP報文是由一行一行的簡單字串組成的。HTTP報文都是純文字,不是二進位制程式碼,所以人們可以很方便地對其進行讀寫。下圖是一個例子:從Web客戶端發往Web伺服器的HTT

http請求響應頭設定

js設定請求頭: var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP") xhr.open(type, url) xhr.setReq

http請求響應包介紹

HTTP(HyperText Transfer Protocol)是一套計算機通過網路進行通訊的規則。計算機專家設計出HTTP,使HTTP客戶(如Web瀏覽器)能夠從HTTP伺服器(Web伺服器)請求資訊和服務,HTTP目前協議的版本是1.1.HTTP是一種無狀態的協議,無狀態是指Web瀏覽器和Web伺服器之

HTTP 請求響應包 (網路篇)

HTTP 請求包和響應包: 1,HTTP請求包: 請求包:請求行,請求頭,【空行】,請求體 http://www.gov.cn/xinwen/2018-07/17/content_5307156.htm 【請求行】組成規則:方法 /url HTTP/版本號  例:GE

HTTP請求響應頭部包括的資訊有哪些

每個HTTP請求和響應都會帶有相應的頭部資訊。預設情況下,在傳送XHR請求的同時,還會發送下列頭部資訊:Accept:瀏覽器能夠處理的內容型別Accept-Charset:瀏覽器能夠顯示的字符集Accept-Encoding:瀏覽器能夠處理的壓縮編碼Accept-Language:瀏覽器當前設定的語言Conn

HTTP 請求響應格式

一次完整的HTTP請求過程從TCP三次握手建立連線成功後開始,客戶端按照指定的格式開始向服務端傳送HTTP請求,服務端接收請求後,解析HTTP請求,處理完業務邏輯,最後返回一個HTTP的響應給客戶端,HTTP的響應內容同樣有標準的格式。無論是什麼客戶端或者是什麼服務端,大家只要按照HTTP的協議標

HTTP請求響應格式詳細解析

    1、基礎:     高層協議有:檔案傳輸協議FTP、電子郵件傳輸協議SMTP、域名系統服務DNS、網路新聞傳輸協議NNTP和HTTP協議等 中介由三種:代理(Proxy)、閘道器(Gateway)和通道(Tunnel),一個代理根據URI的絕對格式來接受請求,重寫全部或部分訊息,通過 URI的標識把已

http請求響應格式

當瀏覽器向Web伺服器發出請求時,它向伺服器傳遞了一個數據塊,也就是請求資訊,HTTP請求資訊由3部分組成: l   請求方法URI協議/版本 l   請求頭(Request Header) l   請求正文 下面是一個HTTP請求的例子: GET/sample.jspHTTP/1.1 Accept:im

HTTP請求報文與響應報文格式,含:get與post的區別

POST 方法是GET方法的一個替代方法,它主要是向Web伺服器提交表單資料,尤其是大批量的資料.POST方法克服了GET方法的一些缺點。通過POST方法提交表單資料時,資料不是作為URL請求的一部分而是作為標準資料傳送網路伺服器,這就克服了GET方法中的資訊無法保密和資料。因此,出於安全的考慮以及對使用者

http請求請求響應頭都有什麼資訊?

頁面和伺服器互動最常見的方式就是ajax,ajax簡單來說是瀏覽器傳送請求到服務端,然後服務端返回資料,常見的請求頭和響應頭如下圖所示。      先看通用資訊,通用資訊有三個欄位: 請求url, 請求方法, 狀態碼, 遠端地址。   看下請求頭Request Head