Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78793 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 96851 invoked from network); 6 Nov 2014 08:20:58 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Nov 2014 08:20:58 -0000 Authentication-Results: pb1.pair.com smtp.mail=figureonecpr@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=figureonecpr@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.212.182 as permitted sender) X-PHP-List-Original-Sender: figureonecpr@gmail.com X-Host-Fingerprint: 209.85.212.182 mail-wi0-f182.google.com Received: from [209.85.212.182] ([209.85.212.182:62984] helo=mail-wi0-f182.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id DB/5C-28384-86F2B545 for ; Thu, 06 Nov 2014 03:20:57 -0500 Received: by mail-wi0-f182.google.com with SMTP id d1so692237wiv.9 for ; Thu, 06 Nov 2014 00:20:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=1tPuNqWkieauyZZwVRde3DWJT9S37zPWjrKfooBkuoM=; b=ePp+25pUb/LB8zYsxqY70zQKxlYd2z0fV1dxCIeyGWj5au/WUBjpfP5n4TVAfidsAq rA681Y63OmxFq8Nr6CSCOXQQv442UboVahxyEllOGYNI0jj9BNRUBhowE8WhwKvcU7L5 /Y/DuwuXxoWt1APx+ycZH/kpbdhewSVDLLKiL0q2mA+0Ntbf43O+E1gabr+kX2xqbaAC +7OvdUCwH8b0+Tz8X037NiVVPfZpuDGnEozjvJ7v4XqFGcPjB9Lx+RjlQ/IhXIfi5FP5 IAzFK02NUBxQPyXhIT5FkCZqwWCTbLqpvuqTwZzPkbuvj2agHiTkw7gVu6wE3hXtsjZ6 3e6g== MIME-Version: 1.0 X-Received: by 10.180.104.105 with SMTP id gd9mr38363233wib.65.1415262053451; Thu, 06 Nov 2014 00:20:53 -0800 (PST) Received: by 10.216.194.132 with HTTP; Thu, 6 Nov 2014 00:20:53 -0800 (PST) In-Reply-To: References: <1DDB6E05-3143-4A74-8B13-AF85222579BA@ajf.me> <468730E8-4C38-49A3-A61A-59E107313D79@ajf.me> <9FB8B541-A040-4C0E-8884-A1EA06B3C266@php.net> Date: Thu, 6 Nov 2014 03:20:53 -0500 Message-ID: To: Sherif Ramadan Cc: Will Fitch , Andrea Faulds , Patrick ALLAERT , PHP Internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] New Standardized HTTP Interface From: figureonecpr@gmail.com (Sanford Whiteman) > Nowhere did I suggest that the request verbs themselves (i.e. PUT and POST) have the same intent. Just > that the handling of multipart-form data is not specific to either one of > those verbs. Define "handling." :/ "Handling" as in "interpreting multipart/form-data as key-value pairs": a specific, intimate relationship with POST exists in RFC 1867 and in the HTML4 and 5 specs. These documents show the relationship between POST and multipart/form-data to be a very special one, one in which the innards of a form-data entity-body are meant to be expanded at runtime to replay the individual fields of an originating form. There is no such document that relates to PUT. "Handling" as in "accepting data that happens to be multipart/form-data": of course that's not method-specific. It's not even HTTP-specific anymore. As of RFC 2388, form-data can be sent from Adobe Acrobat over IPX/SPX to an AS/400. That's great, it's a real standard. MIME decoders/encoders will grok it as a specialization of multipart MIME, and apps can apply stricter validation than for multipart/mixed (for example, mandatory part names). The expanded standard also means that intermediate systems may be designed to *transport* or *save* multipart/form-data messages instead of *reading* them. Which brings us back to the point: hands off PUT entities, unless there's overriding local knowledge that they must be read instead of stored. > I see no reason why this would be a negative impact on PHP. Because if someone PUTs 2 GB of multipart/form-data I don't want it decoded just because somewhere in my code path there's a reference to $_POST. -- S.