phpput請求
㈠ HTTP提交方式之PUT詳細介紹及POST和PUT的區別
Http定義了與 伺服器的交互方法,其中除了一般我們用的最多的GET,POST 其實還有PUT和DELETE
根據RFC2616標准(現行的HTTP/1.1)其實還有OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT
簡單地結束一下吧。
1、PUT: 把消息本體中的消息發送到一個URL,跟POST類似,但不常用。
簡單地說:通常用於向伺服器發送請求,如果URI不存在,則要求伺服器根據請求創建資源,如果存在,伺服器就接受請求內容,並修改URI資源的原始版本。
-----PUT請求那些封裝在Request-URI的實體。如果Request-URI引用一個已存在的資源,則該封裝實體應該作為原始伺服器上的修改版本。如果Request-URI不是指向一個已存在的資源,並且該URI可被請求的用戶代碼定義為新資源,則原始伺服器可用此URI創建新的資源。如果新的資源被創建,這個原始伺服器就必須通過201(Created)響應通知用戶代理。如果已有資源被修改,則發送200或者204響應,表示成功完成了該請求。如果Request-URI既沒有創建也沒有修改資源,則應給予適當的錯誤響應來反映問題本質。實體的接受者不能忽略任何不理解或沒有實現的Content-*(如Content-Range)頭部,並且必須返回501響應。
如果請求經過緩存,並且Request-URI標識出一個或多個當前緩存的實體,則那些實體視為過期了。該方法的響應不會被緩存。
2、POST和PUT的請求根本區別
POST請求的URI表示處理該封閉實體的資源,該資源可能是個數據接收過程、某種協議的網關、或者接收註解的獨立實體。然而,PUT請求中的URI表示請求中封閉的實體-用戶代理知道URI的目標,並且伺服器無法將請求應用到其他資源。如果伺服器希望該請求應用到另一個URI,就必須發送一個301響應;用戶代理可通過自己的判斷來決定是否轉發該請求。
HTTP/1.1沒有定義一個PUT請求如何影響原始伺服器的狀態。
PUT請求必須遵守信息傳輸要求。
除非另有說明,PUT請求中的實體頭部應該用於PUT創建或修改的資源上。
㈡ 如何發送一個PUT / DELETE請求jQuery的
1. 你的$.ajax({
url: '/script.cgi',
type: 'DELETE',
success: function(result) {
// Do something with the result
}
});
2. $.ajax會的工作。$.ajax({
url: 'script.php',
type: 'PUT',
success: function(response) {
//...
}
});
3. 似乎通過指定可以用jQuery的AJAX功能type: "put"或type: "delete"而不是不支持所有的瀏覽器,但其中的大多數。 看看這個問題的 是PUT,DELETE,HEAD,可在大多數Web瀏覽器?
4. ajax() 尋找參數類型 並非所有瀏覽器都支持的其他HTTP如PUT和DELETE,也可以在這里,但他們。
5. 你應該能夠jQuery.ajax: 載入遠程的HTTP 請求。 你也可以用指定應type選項: 請求的類型做出(「POST「或 「GET「),默認為」GET「註:其他 例如HTTP作為PUT和DELETE,還可以在這里的,但 他們不支持的所有 瀏覽器。
6. 你可以在你的數據散列包括一個名為鍵:_method與價值「刪除」。 例如:data = { id: 1, _method: 'delete' };
url = '/procts'
request = $.post(url, data);
request.done(function(res){
alert('Yupi Yei. Your proct has been deleted')
});
這也適用於
7. 從這里,你可以這樣做:/* Extend jQuery with functions for PUT and DELETE requests. */
function _ajax_request(url, data, callback, type, method) {
if (jQuery.isFunction(data)) {
callback = data;
data = {};
}
return jQuery.ajax({
type: method,
url: url,
data: data,
success: callback,
dataType: type
});
}
jQuery.extend({
put: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'PUT');
},
delete_: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'DELETE');
}
});
它基本上只是一個副本$.post()與調整。本文地址 :CodeGo
㈢ put請求的危害
put方法不安全是因為服務設計的缺陷
_賈碌_ut方法不安全,而讓大眾記住的是CVE-2017-12615這個安全漏洞。他存在於Tomcat 7.0.0 ~ 7.0.79這幾個版本的服
_衿髦校謚蟮陌奼疽丫顏飧鑫侍廡薷戳恕K韻衷詰_omcat並不會出現put不安全的問題從http協議的角度來說,put方
_ú⒉淮嬖謔欠癜踩奈侍猓推淥男橐謊皇潛曛疚_ype不同(他們的http協議中欄位是不同的,但是影響不大,
_皇卿榔韉耐床唄緣奈侍猓_HTTP他只是一個協議,一個規則。他自身沒有是否安全,而不安全的只能說是根據http設
_頻姆衿魘遣話踩欠衿鞔嬖詰_ug。
㈣ PHP 怎麼使用put
//接收上傳的文件
foreach($_FILES as $file)
{
$tempFileName = $file['tmp_name'];//上傳文件的臨時路徑
}
/把圖片移動到伺服器制定路徑
$img = '/var/www/html/picture/test.jpg';
move_uploaded_file($tempFileName, $img);
//縮放比例
$ratio = 0.5;
//修改尺寸 至於各個函數是幹嘛的,google一下吧
$imagedata = getimagesize($img);
$olgWidth = $imagedata[0];
$oldHeight = $imagedata[1];
$newWidth = $olgWidth * $ratio;
$newHeight = $oldHeight * $ratio;
$image = imagecreatefromjpeg($img);
$thumb = imagecreatetruecolor ($newWidth, $newHeight);
imageresized ($thumb, $image, 0, 0, 0, 0, $newWidth, $newHeight, $olgWidth, $oldHeight);
imagejpeg($thumb, $img);
imagedestroy($thumb);
imagedestroy($image);
㈤ PHP中put和post區別
1.使用支持和范圍的區別:
PHP提供了對PUT方法的支持,在Http定義的與伺服器的交互方法中,PUT是把消息本體中的消息發送到一個URL,形式上跟POST類似;
PHP 提供對諸如 Netscape Composer 和 W3C Amaya 等客戶端使用的 HTTP PUT 方法的支持;
PHP 4 中,必須使用標準的輸入流來讀取一個 HTTP PUT 的內容;
PUT方法沒有POST方法使用廣泛,但PUT方法卻是向伺服器上傳文件最有效率的方法:
2.上傳過程的區別:
POST上傳文件時,通常需要將所有的信息組合成multipart 傳送過去,然後伺服器再解碼這些信息,解碼過程則必不可少的會消耗內存和CPU資源,這種現象在上傳大文件時尤其明顯;
PUT方法則允許你通過與伺服器建立的socket鏈接傳遞文件的內容,而不附帶其他的信息,效果上更直接;
3.上傳效果的區別:
PHP 接受到 PUT 方法的請求時,會把上傳的文件儲存到和其它用 POST 方法處理過的文件相同的臨時目錄;請求結束時,臨時文件將被刪除。
用來處理 PUT 的 PHP 腳本必須將該文件拷貝到其它的地方;
4. POST和PUT請求根本區別
POST請求的URI表示處理該封閉實體的資源,該資源可能是個數據接收過程、某種協議的網關、或者接收註解的獨立實體;
PUT請求中的URI表示請求中封閉的實體-用戶代理知道URI的目標;
伺服器無法將請求應用到其他資源;
如果伺服器希望該請求應用到另一個URI,就必須發送一個301響應;
用戶代理可通過自己的判斷來決定是否轉發該請求;
㈥ php對put請求的body是如何處理的
可以使用file_get_contents("php://input")接收原始數據,然後自己原始數據
㈦ 100分PHP怎麼獲取PUT和DELETE請求的參數
[解決辦法]
最笨的方法:$method = $_SERVER['REQUEST_METHOD']
然後判斷
[解決辦法]
本帖最後由 xuzuning 於 2013-10-08 11:52:45 編輯 some.php
$type = $_SERVER['REQUEST_METHOD'];
parse_str(file_get_contents('php://input'), $data);
$data = array_merge($_GET, $_POST, $data);
//根據 $type 的值做相應的操作
㈧ post,get,put等請求方法有什麼不同
GET 是將你的請求直接以網址連接發送出去(到伺服器端) , 並後台可能是靜態的 html 檔, 也可以是 cgi 的腳本,
由於你給出的連接是"明顯"的, 所以在伺服器端你要存取的整個連結都會被寫到 LOG 中, 所以, 你將不應該用 GET 作為提交 ID / 密碼 的方式. GET 還有一個限制就是字串的請求長度為 8K 位元組(BYTES)
POST 是將你表單中的內容, 以二進位式的串流發送到伺服器端, 其對像大多數是 CGI 腳本 (當然也有 mailto 之類 -- 啟動本地作業 ). 絕大多數表單的提交都用 POST, 就像登入帳號, 你在這里發表提問, 都是用 POST 的形式進行. 資料的傳送相對 GET 是 "不明顯的" ( 不會在 LOG 中看到你在表單里寫了甚麼 ), 相對 GET, POST 的長度可以上 MB ( 你可以在伺服器內自行設成多大都可以 )
PUT 跟 POST 也很相似, 但一般 (只是一般) 我們用 PUT 都是用來上傳一些小檔案, 且連結的位置就是檔案的位置 (亦即是, 你 PUT 到一個連結之後, 你就直接用 GET 的方法將這檔案下載回來), 例如 WebDAV ( 日歷卡服務 ), 就很多時會用到 PUT, 但如果沒有相關的需要時, 一般在考慮到安全問題的方向下, 都會從伺服器內關掉接收這種請求 ( 其實還有 "DELETE", PUT 的反向動作 ).