協議請求
① HTTP協議中請求方法Get和Post的區別是什麼
原理區別:
在瀏覽器中輸入網址訪問資源都是通過GET方式;在FORM提交中,可以通過Method指定提交方式為GET或者POST,默認為GET提交。
HTTP 定義了與伺服器交互的不同方法,最常用的有4種,Put(增),Delete(刪),Post(改),Get(查),即增刪改查:
1)Get,
它用於獲取信息,注意,他只是獲取、查詢數據,也就是說它不會修改伺服器上的數據,從這點來講,它是數據安全的,而稍後會提到的Post它是可以修改數據的,所以這也是兩者差別之一了。
2)
Post,它是可以向伺服器發送修改請求,從而修改伺服器的,比方說,我們要在論壇上回貼、在博客上評論,這就要用到Post了,當然它也是可以僅僅獲取數據的。
3)Delete 刪除數據。可以通過Get/Post來實現。
4)Put,增加、放置數據,可以通過Get/Post來實現。
根據HTTP規范,GET用於信息獲取,而且應該是安全的和冪等的 。
1.所謂安全的意味著該操作用於獲取信息而非修改信息。換句話說,GET請求一般不應產生副作用。就是說,僅僅是獲取資源信息,就像資料庫查詢一樣,不會修改,增加數據,不會影響資源的狀態。(注意:這里安全的含義僅僅是指是非修改信息。)
根據HTTP規范,POST表示可能修改變伺服器上的資源的請求
。繼續引用上面的例子:還是新聞以網站為例,讀者對新聞發表自己的評論應該通過POST實現,因為在評論提交後站點的資源已經不同了,或者說資源被修改了。
表現形式區別:
HTTP請求:在HTTP請求中,第一行必須是一個請求行(request
line),用來說明請求類型、要訪問的資源以及使用的HTTP版本。緊接著是一個首部(header)小節,用來說明伺服器要使用的附加信息。在首部之後是一個空行,再此之後可以添加任意的其他數據[稱之為主體(body)]。
兩種提交方式的區別:
(1)GET提交,請求的數據會附在URL之後(就是把數據放置在HTTP協議頭中),以?分割URL和傳輸數據,多個參數用&連接。如果數據是英文字母/數字,原樣發送,如果是空格,轉換為+,如果是中文/其他字元,則直接把字元串用BASE64加密,得出如:
%E4%BD%A0%E5%A5%BD,其中%XX中的XX為該符號以16進製表示的ASCII。
POST提交:把提交的數據放置在是HTTP包的包體中。上文示例中紅色字體標明的就是實際的傳輸數據
因此,GET提交的數據會在地址欄中顯示出來,而POST提交,地址欄不會改變
(2)傳輸數據的大小:首先聲明:HTTP協議沒有對傳輸的數據大小進行限制,HTTP協議規范也沒有對URL長度進行限制。
而在實際開發中存在的限制主要有:
GET:特定瀏覽器和伺服器對URL長度有限制,例如IE對URL長度的限制是2083位元組(2K+35)。對於其他瀏覽器,如Netscape、FireFox等,理論上沒有長度限制,其限製取決於操作系統的支持。
因此對於GET提交時,傳輸數據就會受到URL長度的限制。
POST:由於不是通過URL傳值,理論上數據不受限。但實際各個WEB伺服器會規定對post提交數據大小進行限制,Apache、IIS6都有各自的配置。
② 為什麼外部協議請求會沒有了
好像經常有人誤點「取消啟動應用程序」 ,又選擇了「記住我對所有此類鏈接專的選擇屬」 。結果就導致下次想啟動啟動不了了!怎麼才能恢復呢?重裝太麻煩!其實只要用記事本打開\360\360se6\User Data\Local State這個文件(用記事本打開)。相關的設置就在裡面了。如果你嫌麻煩,不想去找倒底哪句對應哪個程序,就乾脆全部清空了,這樣你下次啟動就會再次詢問。(注意先備份,以防萬一)真相在下面:打開Local State後,可以找到以下幾個軟體的對應設置語句,ture表示禁止啟動,false表示允許啟動。所以若想恢復啟動,把ture改成false亦可。"aliim"—— 阿里旺旺"ed2k" ——電驢之類「itms」—— itune其它的我不知道了,應該都差不的
③ 協議類請求法律高手
你是可以根來據最新的《勞動合同源法》要回公司扣你的錢的,以顯示具體的相關法律,如果有疑問可以參照《勞動合同法》
第三十條 用人單位應當按照勞動合同約定和國家規定,向勞動者及時足額支付勞動報酬。
用人單位拖欠或者未足額支付勞動報酬的,勞動者可以依法向當地人民法院申請支付令,人民法院應當依法發出支付令。
第三十七條 勞動者提前三十日以書面形式通知用人單位,可以解除勞動合同。勞動者在試用期內提前三日通知用人單位,可以解除勞動合同。
第三十八條 用人單位有下列情形之一的,勞動者可以解除勞動合同:
(二)未及時足額支付勞動報酬的;
第八十四條 用人單位違反本法規定,扣押勞動者居民身份證等證件的,由勞動行政部門責令限期退還勞動者本人,並依照有關法律規定給予處罰。
用人單位違反本法規定,以擔保或者其他名義向勞動者收取財物的,由勞動行政部門責令限期退還勞動者本人,並以每人五百元以上二千元以下的標准處以罰款;給勞動者造成損害的,應當承擔賠償責任。
勞動者依法解除或者終止勞動合同,用人單位扣押勞動者檔案或者其他物品的,依照前款規定處罰。
④ 寫一份請求協議書
理解!
也很想幫你,但卻無能為力!
最好是去找律師.
網上搜一下,看看有沒有律師在線什麼的!!
⑤ http協議提交請求的方法有哪些
標准Http協議支持六種請求方法,即:
,GET
1,HEAD
2,PUT
3,DELETE
4,POST
5,OPTIONS
但其實我們大部分情況下只用到了GET和POST。如果想設計一個符合RESTful規范的web應用程序,則這六種方法都會用到。不過即使暫時不想涉及REST,了解這六種方法的本質仍然是很有作用的。大家將會發現,原來web也是很簡潔明了的。下面依次說明這六種方法。
0,GET:GET可以說是最常見的了,它本質就是發送一個請求來取得伺服器上的某一資源。資源通過一組HTTP頭和呈現數據(如HTML文本,或者圖片或者視頻等)返回給客戶端。GET請求中,永遠不會包含呈現數據。
1,HEAD:HEAD和GET本質是一樣的,區別在於HEAD不含有呈現數據,而僅僅是HTTP頭信息。有的人可能覺得這個方法沒什麼用,其實不是這樣的。想像一個業務情景:欲判斷某個資源是否存在,我們通常使用GET,但這里用HEAD則意義更加明確。
2,PUT:這個方法比較少見。HTML表單也不支持這個。本質上來講, PUT和POST極為相似,都是向伺服器發送數據,但它們之間有一個重要區別,PUT通常指定了資源的存放位置,而POST則沒有,POST的數據存放位置由伺服器自己決定。舉個例子:如一個用於提交博文的URL,/addBlog。如果用PUT,則提交的URL會是像這樣的」/addBlog/abc123」,其中abc123就是這個博文的地址。而如果用POST,則這個地址會在提交後由伺服器告知客戶端。目前大部分博客都是這樣的。顯然,PUT和POST用途是不一樣的。具體用哪個還取決於當前的業務場景。
3,DELETE:刪除某一個資源。基本上這個也很少見,不過還是有一些地方比如amazon的S3雲服務裡面就用的這個方法來刪除資源。
4,POST:向伺服器提交數據。這個方法用途廣泛,幾乎目前所有的提交操作都是靠這個完成。
5,OPTIONS:這個方法很有趣,但極少使用。它用於獲取當前URL所支持的方法。若請求成功,則它會在HTTP頭中包含一個名為「Allow」的頭,值是所支持的方法,如「GET, POST」。
其實還有一個TRACE方法,不過這個基本上不會用到,這里就不介紹了。以上的六種方法,我們可以跟資料庫的CRUD增刪改查操作對應起來:
CREATE :PUT
READ:GET
UPDATE:POST
DELETE:DELETE
這樣一來就實現了HTTP和資料庫操作(其實不光是資料庫,任何數據如文件圖表都是這樣)的完美統一,這也是REST的精髓之一
⑥ 這個http協議的post請求是什麼意思
向伺服器提交數據,比如,你注冊網站的賬號,填完之後,提交時就會向伺服器發一個post請求。伺服器收到之後,會存到資料庫。
⑦ HTTP 協議請求方法GET 與POST 的區別
1.GET 方法
GET 方法提交數據不安全,數據置於請求行,客戶端地址欄可見;
GET 方法提交的數據大小專限制在屬255 個字元之內
GET 方法不可以設置書簽
2.POST 方法
POST 方法提交數據安全,數據置於消息主體內,客戶端不可見
POST 方法提交的數據大小沒有限制
POST 方法可以設置書簽
⑧ HTTP 協議都有哪些規則
客戶程序向伺服器發送的請求可以有不同的類型,這樣伺服器可以根據不同的請求類型進行不同的處理。在HTTP1.0中,定義了三種最基本的請求類 型,GET、POST和HEAD,客戶程序用大寫指令將請求發送給伺服器,後面跟隨具體的數據。
其中,HEAD請求在客戶程序和伺服器之間進行交流,而不會返回具體的文檔。當使用GET和POST方法時,伺服器最後都將結果文檔返回給客戶程序,瀏覽器將 刷新顯示。而HEAD請求則不同,它僅僅交流一些內部數據,這些數據不會影響瀏覽的過程。因此HEAD方法通常不單獨使用,而是和其他的請求方法一起起到 輔助作用。一些搜尋引擎使用的自動搜索機器人使用這個方法來獲得網頁的標志信息,或者進行安全認證時,使用這個方法來傳遞認證信息。
除了這三種最常見的訪問方法之外,在HTTP1.1中還定義了更多的訪問方法類型,如PUT,用於將網頁放置到正確位置,DELETE用於刪除相關文檔 等。這些方法並不常用,因而大部分Web伺服器軟體並沒有實現他們。然而對於特定場合他們還是非常有用的,例如使用軟體編輯網頁時,網頁編輯器可以使用這 些方法,管理不同的網頁。
如果伺服器不支持客戶發送的請求方法,伺服器將返回錯誤並立即關閉連接
⑨ 如何修改http協議的請求的數據格式
HTTP客戶請求數據格式
大多數servlet程序都是和瀏覽器客戶以HTTP協議進行通信的,這需要編程人員對程序的基本功能和HTTP協議的具體操作有深入的理解。在學習
servlet和Jsp編程時,有兩點值得注意:首先是對HTTP協議的操作過程和數據格式足夠熟悉,其次要靈活應用servlet的API中的有關方法
正確高效地處理有關數據。
一、HTTP客戶請求的數據格式說明
HTTP請求包括三部分:請求行(Request
Line),頭部(Headers)和數據體(Body)。其中,請求行由請求方法(method),請求網址Request-URI和協議
(Protocol)構成,而請求頭包括多個屬性,數據體則可以被認為是附加在請求之後的文本或二進制文件。
下面這個例子顯示了一個HTTP請求的Header內容,這些數據是真正以網路HTTP協議從IE瀏覽器傳遞到Tomcat伺服器上的。
GET /icwork/? search=proct HTTP/1.1
Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/vnd.ms-powerpoint,application/vnd.ms-excel,application/msword,*.*
Accept-Language:en-us
Accept-Encoding:gzip,deflate
User-Agent:Mozilla/4.0(compatible;MSIE 5.01;Windows NT 5.0;DigExt)
Host:
Referer:
Connection:Keep-Alive
這段程序使用了6個Header,還有一些Header沒有出現。我們參考這個例子具體解釋HTTP請求格式。
1.HTTP請求行:請求行格式為Method Request-URI Protocol。在上面這個例子里,逗GET /icwork/? search=pruct HTTP/1.1地是請求行。
2.Accept:指瀏覽器或其他客戶可以接愛的MIME文件格式。Servlet可以根據它判斷並返回適當的文件格式。
3.Accept-Charset:指出瀏覽器可以接受的字元編碼。英文瀏覽器的默認值是ISO-8859-1.
4.Accept-Language:指出瀏覽器可以接受的語言種類,如en或en-us,指英語。
5.Accept-Encoding:指出瀏覽器可以接受的編碼方式。編碼方式不同於文件格式,它是為了壓縮文件並加速文件傳遞速度。瀏覽器在接收到Web響應之後先解碼,然後再檢查文件格式。
6.Authorization:當使用密碼機制時用來標識瀏覽器。
7.Cache-Control:設置關於請求被代理伺服器存儲的相關選項。一般servlet用不到。
8.Connection:用來告訴伺服器是否可以維持固定的HTTP連接。HTTP/1.1使用Keep-Alive為默認值,這樣,當瀏覽器需要多個文件時(比如一個HTML文件和相關的圖形文件),不需要每次都建立連接。
9.Content-Type:用來表名request的內容類型。可以用HttpServletRequest的getContentType()方法取得。
10.Cookie:瀏覽器用這個屬性向伺服器發送Cookie。Cookie是在瀏覽器中寄存的小型數據體,它可以記載和伺服器相關的用戶信息,也可以用來實現會話功能。
11.Expect:表時客戶預期的響應狀態。
12.From:給出客戶端HTTP請求負責人的email地址。
13.Host:對應網址URL中的Web名稱和埠號。
14.If-Match:供PUT方法使用。
15.If-Modified-Since:客戶使用這個屬性表明它只需要在指定日期之後更改過的網頁。因為瀏覽器可以使用其存儲的文件而不必從伺服器請求,這樣節省了Web資源。由於Servlet是動態生成的網頁,一般不需要使用這個屬性。
16.If-None-Match:和If-Match相反的操作,供PUT方法使用。
17.If-Unmodified-Since:和If-Match-Since相反。
18.Pragma:這個屬性只有一種值,即Pragma:no-cache,表明如果servlet充當代理伺服器,即使其有已經存儲的網頁,也要將請求傳遞給目的伺服器。
19.Proxy-Authorization:代理伺服器使用這個屬性,Servlet一般用不到。
20.Range:如果客戶有部分網頁,這個屬性可以請求剩餘部分。
21.Referer:表明產生請求的網頁URL。如比從網頁/icconcept/index.jsp中點擊一個鏈接到網頁/icwork
/search,在向伺服器發送的GET/icwork/search中的請求中,Referer是
/icconcept/index.jsp。這個屬性可以用來跟蹤Web請求是從什麼網站來的。
22.Upgrage:客戶通過這個屬性設定可以使用與HTTP/1.1不同的協議。
23.User-Agent:是客戶瀏覽器名稱。
24.Via:用來記錄Web請求經過的代理伺服器或Web通道。
25.Warning:用來由客戶聲明傳遞或存儲(cache)錯誤。
補充.Transfer-Encoding:
當不能預先確定報文體的長度時,不可能在頭中包含Content-Length域來指明報文體長度,此時就需要通過Transfer-Encoding域來確定報文體長度。
通常情況下,Transfer-Encoding域的值應當為chunked,表明採用chunked編碼方式來進行報文體的傳輸。chunked編碼是HTTP/1.1 RFC里定義的一種編碼方式,因此所有的HTTP/1.1應用都應當支持此方式。
chunked編碼的基本方法是將大塊數據分解成多塊小數據,每塊都可以自指定長度
二、下面是一個分析並顯示客戶請求的Header信息的servlet(tomcat下測試通過):
java 代碼
Code:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.Enumeration;
public class headerinfo extends HttpServlet{
public void doPost(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException
{
/*
Enumeration e = req.getHeaderNames();
while (e.hasMoreElements()) {
String s = (String) e.nextElement();
System.out.println("header: " + s + " " + req.getHeader(s));
}
e = req.getAttributeNames();
while (e.hasMoreElements()) {
String s = (String) e.nextElement();
System.out.println("attribute: " + s + " " + req.getAttribute(s));
}
e = req.getParameterNames();
while (e.hasMoreElements()) {
String s = (String) e.nextElement();
System.out.println("parameter: " + s + " " + req.getParameter(s));
}*/
resp.setContentType("text/html; charset=GBK");
PrintWriter out = resp.getWriter();
out.println("<html><head><title>FormParameterServlet</title></head>");
out.println("<body bgcolor=\"white\">");
out.println("<center><font color=\"#009999\" size=\"4\" face=\"Arial\">");
out.println("<strong>List of all Headers in Servlet Request</strong>");
out.println("</font></center>");
out.println("<hr>");
out.println("<H3>Request Line is:</H3>");
out.println("<b>Method:</b>"+req.getMethod()+"<br>");
out.println("<b>URI:</b>"+req.getRequestURI()+"<br>");
out.println("<b>Protocol</b>"+req.getProtocol()+"<br>");
out.println("<center><h3>Header Name and Values</h3></center>");
out.println("<table border=1 align=center>");
out.println("<tr bgcolor='#99cee6'><th>Name</th><th>value</th></tr>");
Enumeration headernames = req.getHeaderNames();
while(headernames.hasMoreElements()){
String headername = (String)headernames.nextElement();
out.println("<tr><td>"+headername+"</td><td>"+req.getHeader(headername)+"</td></tr>");
}
out.println("</table></body></html>");
out.flush();
}
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException
{
doPost(req,resp);
}
}
⑩ 請求寫一份協議!
寫什麼協議哦,直接把房子過戶給你,你把房產證而給他們看不就可以落戶拉~~~~~~~~~