iOS-- sizeof()
***URL長度的限制是2083字節(2K+35)***
1.計算機最基本的單位是字節。
(1)一個漢字由兩個字節組成(測試時3個???)
(2)字母和數字由一個字節組成。
2.容量的單位從小到大依次是:字節(B)、KB、MB、GB、TB。它們之間的關系是。1TB=1024GB??
1KB=1024字節(B) ?
1 Byte = 8 Bits;(1B(字節) =?是八個比特,即:1byte= 8bit)
通常人們都使用簡便的叫法,把后面的“B”去掉,所以你問的1MB就是1024KB。以上是根據教科書給出的答案,不過理論和實際是有點出入的,硬件方面,特別是硬盤,換算的方式略有差別,既將上面公式里的1024都換成1000,24可以忽略不計。所以現實中我們買的硬盤使用時都會發現,實際可使用的容量和標稱的是有差別的,實際可使用的容量比標稱的小
比特是最小單位 字節是比特的集合 也是一個單位
應該這么說 比特是計算機中最小的數據單位。一比特是單個的二進制數值,0或1。雖然計算機可以提供指令測試和操作比特,但通常以多個比特的集合——字節來存儲數據和執行指令。在大多數計算機系統中,一字節由八比特構成。一比特數值在存儲器中用單個電容器充放電高于或低于某個電平來表示。
********************重要的知識點來了**********************
1.Http Get方法提交的數據大小長度并沒有限制,HTTP協議規范沒有對URL長度進行限制。這個限制是特定的瀏覽器及服務器對它的限制。
如:IE對URL長度的限制是2083字節(2K+35)。
?瀏覽器和服務器對url長度都有限制,各瀏覽器HTTP Get請求URL最大長度并不相同,幾類常用瀏覽器最大長度及超過最大長度后提交情況如下:
? IE6.0? :url最大長度2083個字符,超過最大長度后無法提交。
?IE7.0??:? url最大長度2083個字符,超過最大長度后仍然能提交,但是只能傳過去2083個字符。
?IE8.0??:? url最大長度4076個字符,超過該長度會自動忽略后面的內容.
?firefox 3.0.3:? url最大長度7764個字符,超過最大長度后無法提交。
?Opera 9.52?:? url最大長度7648個字符,超過最大長度后無法提交。
?Google Chrome 2.0.168:? url最大長度7713個字符,超過最大長度后無法提交。
Microsoft Internet Explorer (Browser)
IE瀏覽器對URL的最大限制為2083個字符,如果超過這個數字,提交按鈕沒有任何反應。
Firefox (Browser)
對于Firefox瀏覽器URL的長度限制為65,536個字符。
Safari (Browser)
URL最大長度限制為 80,000個字符。
Opera (Browser)
URL最大長度限制為190,000個字符。
Google (chrome)
URL最大長度限制為8182個字符。
Apache (Server)
能接受最大url長度為8,192個字符。
Microsoft Internet Information Server(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 文件,修改
debug="0"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
port="8080"
redirectPort="8443"
enableLookups="false"
minSpareThreads="25"
maxSpareThreads="75"
maxThreads="150"
maxPostSize="0"
URIEncoding="GBK"
>?
增加紅色字體部分 maxPostSize="0" (設為0是取消POST的大小限制)
********************重要的知識點來了**********************
*******************在嘮叨一點,頂住兄弟**********************
曾經聽某人介紹,如果使用GET方式傳輸參數,URL的最大長度是256個字節,對此深信不疑.
但是最近看到一些超長的url,能夠在IE下工作,復制下來測算了一下長度,大概是650個字節,這個長度遠遠超過了256個字節.這時候對以前的說法不由得有些懷疑—-用各大搜索引擎翻了個遍,最后找到最權威的解釋—-Maximum URL length is 2,083 characters in Internet Explorer.
沒錯,IE的url最大長度是2083個字節,可以用于GET傳遞數據的長度是2048個字節,這個數字不小,遠超過256這個曾經認為無比正確的數字.
另外POST方式傳遞的數據不受這個長度影響,它的值通過瀏覽器header傳輸而不是url.
經過實際測試
在IE8 下的URL地址總長度為:4076,超過該長度會自動忽略后面的內容;
在firefox 25下的URL地址總長度可以達到:7530,超過該長度會訪問錯誤;
在chrome?29.0.1547.62?的最大總長度達到:7675,超過該長度會訪問錯誤;
由此可見,在以前的瀏覽器下,或許URL的最大長度為256是可能的(現在找不到IE6或以前的版本來測試),
********************在嘮叨一點,頂住兄弟*********************