Коли форма HTML подається, не вказуючи метод, для чого використовується метод HTTP за замовчуванням? Отримати або відправити?
Чи змінювалась така поведінка між стандартами HTML?
Будь ласка, цитуйте стандартний документ W3C, якщо це можливо.
Коли форма HTML подається, не вказуючи метод, для чого використовується метод HTTP за замовчуванням? Отримати або відправити?
Чи змінювалась така поведінка між стандартами HTML?
Будь ласка, цитуйте стандартний документ W3C, якщо це можливо.
Відповіді:
ЗАРАЗ
Погляньте на заміщення рекомендації W3C 17.3 Елемент FORM .
Витяг:
<!ATTLIST FORM
%attrs; -- %coreattrs, %i18n, %events --
action %URI; #REQUIRED -- server-side form handler --
method (GET|POST) GET -- HTTP method used to submit the form--
enctype %ContentType; "application/x-www-form-urlencoded"
accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
name CDATA #IMPLIED -- name of form for scripting --
onsubmit %Script; #IMPLIED -- the form was submitted --
onreset %Script; #IMPLIED -- the form was reset --
accept-charset %Charsets; #IMPLIED -- list of supported charsets --
>
Добре читати
Ось посилання на W3C, яка каже, що GET є типовим.
Якщо не вказано, за замовчуванням GET. Я не бачу ознак того, що така поведінка ніколи не відрізнялася. І має сенс GET є типовим, оскільки він визначає, що метод слід використовувати для дій без побічних ефектів.
http://www.faqs.org/faqs/www/cgi-faq/section-37.html
Цитати з http://www.w3.org/TR/html401/interact/forms.html#h-17.3 :
method = get | post [CI]
Цей атрибут визначає, який метод HTTP буде використовуватися для подання набору даних форми. Можливі (нечутливі до регістру) значення "get
" (за замовчуванням) та "post
". Дивіться розділ щодо подання форми для використання інформації.17.13.1 Метод подачі форми
Атрибут методуFORM
елемента вказує метод HTTP, який використовується для надсилання форми до агента обробки. Цей атрибут може приймати два значення:
get: За допомогою методу HTTP "get" набір даних форми додається до URI, визначеного атрибутом дії (з позначкою питання ("?") як роздільник), і цей новий URI відправляється агенту обробки.
post: За допомогою HTTP-методу "post" набір даних форми включається в тіло форми та надсилається агенту обробки.
Метод "get" слід використовувати, коли форма є ідентичною (тобто не викликає побічних ефектів). Багато пошукових запитів у базі даних не мають видимих побічних ефектів і створюють ідеальні програми для методу "отримати".
Відповідно до стандарту W3C, про який ви просите, за замовчуванням має бути GET.
(повніша відповідь, також про дію та суть)
За замовчуванням "метод", "дія" та "ентетип" форми HTML, якщо вони не вказані,
є GET, поточна URL та application/x-www-form-urlencoded
відповідно.
(Тобто, за замовчуванням форма запитує поточну сторінку з введеними параметрами.)
Така поведінка ніколи не змінювалася, крім "дії" (в HTML 4 це було потрібно). Цитати:
метод: " Відсутнє значення за замовчуванням для атрибута методу - це ... стан GET."
дія:
Дія елемента - це значення атрибута формації елемента, якщо елемент є кнопкою Submit і має такий атрибут, або значення атрибута дії власника форми, якщо він має такий, або ще порожній рядок. <...> Якщо дія - це порожній рядок, нехай дія буде URL-адресою документа форми форми.
enctype: " Відсутнє значення за замовчуванням для атрибута enctype - це ... application/x-www-form-urlencoded
стан."
метод: "Можливі (нечутливі до регістру) значення" get "(за замовчуванням) та" post "."
дія: за замовчуванням немає, DTD вимагає його
enctype: "За замовчуванням для цього атрибута є" application / x-www-form-urlencoded "."
<!ATTLIST FORM
%attrs; -- %coreattrs, %i18n, %events --
action %URI; #REQUIRED -- server-side form handler --
method (GET|POST) GET -- HTTP method used to submit the form--
enctype %ContentType; "application/x-www-form-urlencoded"
метод: "Це може бути або GET або POST, і GET за замовчуванням."
дія: відсутність явного речення, лише в
ентетипі DTD : "За замовчуванням застосовується application / x-www-form-urlencoded ."
<!ATTLIST FORM
action %URL #IMPLIED -- server-side form handler --
method (%HTTP-Method) GET -- see HTTP specification --
enctype %Content-Type; "application/x-www-form-urlencoded"
метод: відсутнє явне речення, лише в
дії DTD : "URI дії форми за замовчуванням до базового URI документа"
enctype: "Кодування за замовчуванням для всіх форм є` application / x-www-form-urlencoded '. "
<!ATTLIST FORM
ACTION CDATA #IMPLIED
METHOD (%HTTP-Method) GET
ENCTYPE %Content-Type; "application/x-www-form-urlencoded"