導航:首頁 > 數據分析 > get為什麼不能傳送太長的數據

get為什麼不能傳送太長的數據

發布時間:2024-10-01 10:51:07

㈠ 表單的提交有兩種方式:GET和POST,這兩種方式的區別是什麼

一、指代不同

1、GET:從指定的資源請求數據。

2、POST:向指定的資源提交要被處理的數據

二、規則不同

1、GET: 請求可被緩存; 請求保留在瀏覽器歷史記錄中; 請求可被收藏為書簽;請求不應在處理敏感數據時使用; 請求有長度限制; 請求只應當用於取回數據。

2、POST:請求不會被緩存; 請求不會保留在瀏覽器歷史記錄中; 不能被收藏為書簽; 請求對數據長度沒有要求。

三、數據要求不同

1、GET:當發送數據時,GET 方法向 URL 添加數據;URL 的長度是受限制的(URL 的最大長度是 2048 個字元)。與 POST 相比,GET 的安全性較差,因為所發送的數據是 URL 的一部分。

2、POST:發送數據無限制。POST 比 GET 更安全,因為參數不會被保存在瀏覽器歷史或 web 伺服器日誌中。

文件傳輸的最大數量是多少

POST 和GET傳輸的最大容量分別是多少?

get 是通過URL提交數據,因此GET可提交的數據量就跟URL所能達到的最大長度有直接關系。很多文章都說GET方式提交的數據最多隻能是1024位元組,而 實際上,URL不存在參數上限的問題,HTTP協議規范也沒有對URL長度進行限制。這個限制是特定的瀏覽器及伺服器對它的限制。IE對URL長度的限制 是2083位元組(2K+35位元組)。對於其他瀏覽器,如FireFox,Netscape等,則沒有長度限制,這個時候其限製取決於伺服器的操作系統。即 如果url太長,伺服器可能會因為安全方面的設置從而拒絕請求或者發生不完整的數據請求。
post 理論上講是沒有大小限制的,HTTP協議規范也沒有進行大小限制,但實際上post所能傳遞的數據量大小取決於伺服器的設置和內存大小。因為我們一般 post的數據量很少超過MB的,所以我們很少能感覺的到post的數據量限制,但實際中如果你上傳文件的過程中可能會發現這樣一個問題,即上傳個頭比較 大的文件到伺服器時候,可能上傳不上去,以php語言來說,查原因的時候你也許會看到有說PHP上傳文件涉及到的參數php默認的上傳有限定,一般這個值是2MB,更改這個值需要更改php.conf的post_max_size這個值。這就很明白的說明了這個問題了。
-------------------------
QQ傳文件的大小上限是多少最大不能超過多少G

如果你QQ是在線狀態,在線傳輸文件是沒有上限的,只要你電腦硬碟裝得下,多大都沒問題。 QQ傳離線文件是有上限的。離線傳送的文件,單個文件大小上限為4G。非會員離線文件存放空間大小 10M/天 。會員按等級VIP1 VIP2 VIP3 VIP4 VIP5 VIP6 分別為200M/天 300M/天 500M/天 700M/天 1G/天 1.5G/天。而且每天用戶離線傳文件的次數不可超過100次。

㈢ 使用GET方法不能發送比較多的表單數據

傳送的數據量較小,不能大於2KB。
很多情況下,需要傳遞一些信息,從瀏覽器到Web伺服器,最終到後台程序。瀏覽器使用兩種方法可將這些信息傳遞到Web伺服器,分別為GET方法和POST方法。
1、get是從伺服器上獲取數據,post是向伺服器傳送數據。2、get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTPpost機制,將表單內各個欄位與其內容放置在HTMLHEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。3、對於get方式,伺服器端用Request.QueryString獲取變數的值,對於post方式,伺服器端用Request.Form獲取提交的數據。4、get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。5、get安全性非常低,post安全性較高。

㈣ get請求的長度限制

q:

HTTP的GET請求的上傳數據的最大長度是多少?如果收到的GET請求超過了他的長度,那麼伺服器的response error(相應文本錯誤)該響應他的錯誤信息嗎?
update:

伺服器和客戶端都會影響。GET請求的長度。(應用還是代理伺服器或者用戶的使用)
多數的伺服器對GET請求的限制是8192個位元組(8kb),這個限制多數是在伺服器配置產生。同樣在客戶端相關,HTTP 1.1聲明甚至警示這個,
以下是一個聲明引用章節3.2.1

MSIE和Safari的長度限制是2kb,Opear是4kb,Firefox是8KB,我們可以得出總結,8kb是最大長度,2KB是可負擔長度在伺服器方面,而255位元組是最安全的長度可以讓URI整個進入瀏覽器
如果GET數據既超過瀏覽器限制長度也超過伺服器限制長度,多數就會截掉超出的長度且並沒任何警告。一些伺服器也許會發送一個HTTP的414響應碼。如果你要傳送一個很大的數據,你最好使用POST來替代GET請求。這樣數據的限制數值會更高,並且伺服器的影響比客戶端更大些。通常大多數的伺服器可最大可以到達2GB的程度。這個可以在伺服器的設置配置。通常的伺服器將會顯示一個伺服器響應碼HTTP 500來應對,POST請求的數據超過限制。

㈤ php get傳值最大是多少

各種web開發語言中,各個頁面之間基本都會進行數據的傳遞,web開發裡面比較常用的數據傳遞方式有get
post,一直以來我都只知道get傳遞的數據量要比post傳遞的數據量要少,所以傳遞大數據量還是要用post,但是 get post
這兩種方式最大能傳遞多少數據呢?一直沒搞清楚。

今天由於工作的需要,還必須得把這個問題搞明白一下了,下面就說說GET與POST傳遞數據的最大長度能夠達到多少吧。

get
是通過URL提交數據,因此GET可提交的數據量就跟URL所能達到的最大長度有直接關系。很多文章都說GET方式提交的數據最多隻能是1024位元組,而
實際上,URL不存在參數上限的問題,HTTP協議規范也沒有對URL長度進行限制。這個限制是特定的瀏覽器及伺服器對它的限制。IE對URL長度的限制
是2083位元組(2K+35位元組)。對於其他瀏覽器,如FireFox,Netscape等,則沒有長度限制,這個時候其限製取決於伺服器的操作系統。即
如果url太長,伺服器可能會因為安全方面的設置從而拒絕請求或者發生不完整的數據請求。

post
理論上講是沒有大小限制的,HTTP協議規范也沒有進行大小限制,但實際上post所能傳遞的數據量大小取決於伺服器的設置和內存大小。因為我們一般
post的數據量很少超過MB的,所以我們很少能感覺的到post的數據量限制,但實際中如果你上傳文件的過程中可能會發現這樣一個問題,即上傳個頭比較
大的文件到伺服器時候,可能上傳不上去,以php語言來說,查原因的時候你也許會看到有說PHP上傳文件涉及到的參數PHP默認的上傳有限定,一般這個值是2MB,更改這個值需要更改php.conf的post_max_size這個值。這就很明白的說明了這個問題了。

㈥ GET/POST 請求參數長度的最大值

1. Get方法長度限制

Http Get方法提交的數據大小長度並沒有限制,HTTP協議規范沒有對URL長度進行限制。這個限制是特定的瀏覽器及伺服器對它的限制。下面就是對各種瀏覽器和伺服器的最大處理能力做一些說明.

瀏覽器/伺服器 說明
Microsoft Internet Explorer IE瀏覽器對URL的最大限制為2083個字元,如果超過這個數字,提交按鈕沒有任何反應。
Firefox 對於Firefox瀏覽器URL的長度限制為65,536個字元
Safari URL最大長度限制為 80,000個字元
Opera URL最大長度限制為190,000個字元
Google chrome URL最大長度限制為8182個字元
Apache Server 能接受最大url長度為8,192個字元
IIS 能接受最大url的長度為16,384個字元

通過上面的數據可知,為了讓所有的用戶都能正常瀏覽, URL最好不要超過IE的最大長度限制(2083個字元),當然,如果URL不直接提供給用戶,而是提供給程序調用,這時的長度就只受Web伺服器影響了。
註:對於中文的傳遞,最終會為urlencode後的編碼形式進行傳遞,如果瀏覽器的編碼為UTF8的話,一個漢字最終編碼後的字元長度為9個字元。
因此如果使用的 GET 方法,最大長度等於URL最大長度減去實際路徑中的字元數。

2.POST方法長度限制

理論上講,POST是沒有大小限制的。HTTP協議規范也沒有進行大小限制,起限製作用的是伺服器的處理程序的處理能力。

如:在Tomcat下取消POST大小的限制(Tomcat默認2M);

打開tomcat目錄下的conf目錄,打開server.xml 文件,修改

<Connector
debug="0"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
port="8080"
redirectPort="8443"
enableLookups="false"
minSpareThreads="25"
maxSpareThreads="75"
maxThreads="150"
maxPostSize="0"
URIEncoding="GBK"
>
</Connector>

增加紅色字體部分 maxPostSize="0" (設為0是取消POST的大小限制)

剛看到群里又有同學在說 HTTP 協議下的 Get 請求參數長度是有大小限制的,最大不能超過XX,而 Post 是無限制的,看到這里,我想他們定是看多了一些以訛傳訛的博客或者書籍,導致一種理解上的誤區:

1、首先即使有長度限制,也是限制的是整個 URI 長度,而不僅僅是你的參數值數據長度。

2、HTTP 協議從未規定 GET/POST 的請求長度限制是多少。

The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15).
Note: Servers ought to be cautious about depending on URI lengths above 255 bytes, because some older client or proxy implementations might not properly support these lengths.
3、所謂的請求長度限制是由瀏覽器和 web 伺服器決定和設置的,各種瀏覽器和 web 伺服器的設定均不一樣,這依賴於各個瀏覽器廠家的規定或者可以根據 web 伺服器的處理能力來設定。

The limit is in MSIE and Safari about 2KB, in Opera about 4KB and in Firefox about 8KB, (255 bytes if we count very old browsers) . We may thus assume that 8KB is the maximum possible length and that 2KB is a more affordable length to rely on at the server side and that 255 bytes is the safest length to assume that the entire URL will come in.
If the limit is exceeded in either the browser or the server, most will just truncate the characters outside the limit without any warning. Some servers however may send a HTTP 414 error. If you need to send large data, then better use POST instead of GET. Its limit is much higher, but more dependent on the server used than the client. Usually up to around 2GB is allowed by the average webserver. This is also configureable somewhere in the server settings. The average server will display a server-specific error/exception when the POST limit is exceeded, usually as HTTP 500 error.
HTTP 1.1 defines Status Code 414 Request-URI Too Long for the cases where a server-defined limit is reached. You can see further details on RFC 2616. For the case of client-defined limits, there is no sense on the server returning something, because the server won't receive the request at all.
The server is refusing to service the request because the Request-URI is longer than the server is willing to interpret. This rare condition is only likely to occur when a client has improperly converted a POST request to a GET request with long query information, when the client has descended into a URI "black hole" of redirection (e.g., a redirected URI prefix that points to a suffix of itself), or when the server is under attack by a client attempting to exploit security holes present in some servers using fixed-length buffers for reading or manipulating the Request-URI.

附 GET VS POST:

1、多數瀏覽器對於POST採用兩階段發送數據的,先發送請求頭,再發送請求體,即使參數再少再短,也會被分成兩個步驟來發送(相對於GET),也就是第一步發送header數據,第二步再發送body部分。HTTP是應用層的協議,而在傳輸層有些情況TCP會出現兩次連結的過程,HTTP協議本身不保存狀態信息,一次請求一次響應。對於TCP而言,通信次數越多反而靠性越低,能在一次連結中傳輸完需要的消息是最可靠的,盡量使用GET請求來減少網路耗時。如果通信時間增加,這段時間客戶端與伺服器端一直保持連接狀態,在伺服器側負載可能會增加,可靠性會下降。

Tips:關於

閱讀全文

與get為什麼不能傳送太長的數據相關的資料

熱點內容
linux文件恢復軟體 瀏覽:49
亞索登錄版本 瀏覽:501
u盤文件索引工具 瀏覽:121
iphone序列號作假 瀏覽:272
cad圖文件太大如何變小 瀏覽:23
excel文件公式多一保存就未響應 瀏覽:693
如何列印某個文件夾下的所有word 瀏覽:447
linuxmakefile解讀 瀏覽:580
iphone手機http代理 瀏覽:733
代碼實現圖片幻燈播放 瀏覽:960
360能恢復u盤文件嗎 瀏覽:588
iphone6多少內存好 瀏覽:900
cad打開壓縮文件 瀏覽:608
多媒體文件有哪些格式 瀏覽:68
五根線的網路水晶頭怎麼接 瀏覽:74
手機app怎麼退回之前版本 瀏覽:782
文件句柄取路徑 瀏覽:389
怎麼把ipad的文件傳到電腦 瀏覽:534
cad列印怎麼去文件名水印 瀏覽:459
怎麼更改idea用戶數據配置 瀏覽:526

友情鏈接