區(qū)別:1、PUT方法沒有POST方法使用廣泛,但PUT方法卻是向服務(wù)器上傳文件最有效率的方法;2、上傳過程和上傳效果不同;3、POST請(qǐng)求的URI表示處理該封閉實(shí)體的資源,PUT請(qǐng)求中的URI表示請(qǐng)求中封閉的實(shí)體。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php中put和post的區(qū)別
1、使用支持和范圍的區(qū)別:
PHP提供了對(duì)PUT方法的支持,在Http定義的與服務(wù)器的交互方法中,PUT是把消息本體中的消息發(fā)送到一個(gè)URL,形式上跟POST類似;
PHP 提供對(duì)諸如 Netscape Composer 和 W3C Amaya 等客戶端使用的 HTTP PUT 方法的支持;
PHP 4 中,必須使用標(biāo)準(zhǔn)的輸入流來讀取一個(gè) HTTP PUT 的內(nèi)容;
PUT方法沒有POST方法使用廣泛,但PUT方法卻是向服務(wù)器上傳文件最有效率的方法:
2、上傳過程的區(qū)別:
POST上傳文件時(shí),通常需要將所有的信息組合成multipart 傳送過去,然后服務(wù)器再解碼這些信息,解碼過程則必不可少的會(huì)消耗內(nèi)存和CPU資源,這種現(xiàn)象在上傳大文件時(shí)尤其明顯;
PUT方法則允許你通過與服務(wù)器建立的socket鏈接傳遞文件的內(nèi)容,而不附帶其他的信息,效果上更直接;
3、上傳效果的區(qū)別:
PHP 接受到 PUT 方法的請(qǐng)求時(shí),會(huì)把上傳的文件儲(chǔ)存到和其它用 POST 方法處理過的文件相同的臨時(shí)目錄;請(qǐng)求結(jié)束時(shí),臨時(shí)文件將被刪除。
用來處理 PUT 的 PHP 腳本必須將該文件拷貝到其它的地方;
4、POST和PUT請(qǐng)求根本區(qū)別
POST請(qǐng)求的URI表示處理該封閉實(shí)體的資源,該資源可能是個(gè)數(shù)據(jù)接收過程、某種協(xié)議的網(wǎng)關(guān)、或者接收注解的獨(dú)立實(shí)體;
PUT請(qǐng)求中的URI表示請(qǐng)求中封閉的實(shí)體-用戶代理知道URI的目標(biāo);
服務(wù)器無法將請(qǐng)求應(yīng)用到其他資源;
如果服務(wù)器希望該請(qǐng)求應(yīng)用到另一個(gè)URI,就必須發(fā)送一個(gè)301響應(yīng);
用戶代理可通過自己的判斷來決定是否轉(zhuǎn)發(fā)該請(qǐng)求;
推薦學(xué)習(xí):《PHP視頻教程》