http上傳文件原理
① http文件上傳的原理是什麼請問向qq郵箱這類可以上傳文件的網頁,他們上傳文件的原理是不是,當用
有個誤區:
在上傳插件中,用戶點擊提交(確認)後,文件才開始上傳,這時候,會上傳到伺服器的某個目錄(不是臨時目錄,一般是伺服器按照管理用戶文件的規則所建立的文件夾),伺服器會返回一個指針,這個指針指向了你上傳的文件。當你發送郵件後,郵件中也會包含這個指針。不管你把這個文件放到哪個文件夾,實際上都只是存放的這個指針而已。如非管理需要,這個文件應該會永久保存,任何轉發,轉儲的行為,其實也只是操作的這個指針而不是文件本身。
即使你刪除文件,也只是在你的文件夾中刪除這個指針。所以,很多「極速秒傳」實際上是先判斷你要上傳的文件的MD5值是否已經在伺服器中存在,如果存在,就把已存在的文件的指針放上去,是不是很快?
② android的自帶的httpClient 怎麼上傳文件
在Android開發中,Android SDK附帶了Apache的HttpClient,它是一個完善的客戶端。它提供了對HTTP協議的全面支持,可以使用HttpClient的對象來執行HTTP GET和HTTP POST調用。
HTTP工作原理:
1.客戶端(一般是指瀏覽器,這里是指自己寫的程序)與伺服器建立連接
2.建立連接後,客戶端向伺服器發送請求
3.伺服器接收到請求後,向客戶端發送響應信息
4.客戶端與伺服器斷開連接
HttpClient的一般使用步驟:
1.使用DefaultHttpClient類實例化HttpClient對象
2.創建HttpGet或HttpPost對象,將要請求的URL通過構造方法傳入HttpGet或HttpPost對象。
3.調用execute方法發送HTTP GET或HTTP POST請求,並返回HttpResponse對象。
4.通過HttpResponse介面的getEntity方法返回響應信息,並進行相應的處理。
最後記得要在AndroidManifest.xml文件添加網路許可權
<uses-permission android:name="android.permission.INTERNET" />
附件中包含了一個拍照上傳的源代碼
③ http中上傳文件的原理
http中上傳文件的原理如下:
在最初的http協議中,沒有上傳文件方面的功能。 rfc1867 ( http://www.ietf.org/rfc/rfc1867.txt ) 為 http 協議添加了這個功能。客戶端的瀏覽器,如 Microsoft IE, Mozila, Opera 等,按照此規范將用戶指定的文件發送到伺服器。伺服器端的網頁程序,如 php, asp, jsp 等,可以按照此規范,解析出用戶發送來的文件。Microsoft IE, Mozila, Opera 已經支持此協議,在網頁中使用一個特殊的 form 就可以發送文件。絕大部分 http server ,包括 tomcat ,已經支持此協議,可接受發送來的文件。各種網頁程序,如 php, asp, jsp 中,對於上傳文件已經做了很好的封裝。
超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網路協議。所有的WWW文件都必須遵守這個標准。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。1960年美國人Ted Nelson構思了一種通過計算機處理文本信息的方法,並稱之為超文本(hypertext),這成為了HTTP超文本傳輸協議標准架構的發展根基。