Quando viene inviato un modulo HTML senza specificare un metodo, qual è il metodo HTTP predefinito utilizzato? OTTIENI o POST?
Questo comportamento è mai cambiato tra gli standard HTML?
Se possibile, citare un documento standard W3C.
Quando viene inviato un modulo HTML senza specificare un metodo, qual è il metodo HTTP predefinito utilizzato? OTTIENI o POST?
Questo comportamento è mai cambiato tra gli standard HTML?
Se possibile, citare un documento standard W3C.
Risposte:
È ottenere.
Dai un'occhiata W3C Sostituito Raccomandazione 17.3 L'elemento FORM .
Estratto:
<!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 --
>
Buona lettura
Ecco il riferimento W3C, che dice che GET è l'impostazione predefinita.
Se non specificato, il valore predefinito è GET. Non vedo alcuna indicazione che questo comportamento sia mai stato diverso. E ha senso che GET sia l'impostazione predefinita, in quanto specifica che il metodo dovrebbe essere usato per azioni senza effetti collaterali.
http://www.faqs.org/faqs/www/cgi-faq/section-37.html
Citazioni da http://www.w3.org/TR/html401/interact/forms.html#h-17.3 :
method = get | post [CI]
Questo attributo specifica quale metodo HTTP verrà utilizzato per inviare il set di dati del modulo. I valori possibili (senza distinzione tra maiuscole e minuscole) sono "get
" (impostazione predefinita) e "post
". Vedere la sezione sull'invio del modulo per informazioni sull'utilizzo.17.13.1 Metodo di invio modulo
L'attributo metodoFORM
dell'elemento specifica il metodo HTTP utilizzato per inviare il modulo all'agente di elaborazione. Questo attributo può assumere due valori:
get: con il metodo HTTP "get", il set di dati del modulo viene aggiunto all'URI specificato dall'attributo action (con un punto interrogativo ("?") come separatore) e questo nuovo URI viene inviato all'agente di elaborazione.
post: con il metodo "post" HTTP, il set di dati del modulo è incluso nel corpo del modulo e inviato all'agente di elaborazione.
Il metodo "get" deve essere utilizzato quando il modulo è idempotente (ovvero non causa effetti collaterali). Molte ricerche nel database non hanno effetti collaterali visibili e rendono le applicazioni ideali per il metodo "get".
Secondo lo standard W3C che stai chiedendo, il valore predefinito dovrebbe essere GET.
(risposta più completa, anche su azione ed enctype)
Il 'metodo' predefinito, 'azione' e 'enctype' di un modulo HTML, se non sono specificati,
sono GET, URL corrente e application/x-www-form-urlencoded
rispettivamente.
(Cioè, per impostazione predefinita, un modulo richiede la pagina corrente con i parametri immessi.)
Questo comportamento non è mai cambiato, tranne 'action' (in HTML 4 era richiesto). citazioni:
method: "Il valore mancante predefinito per l'attributo method è ... lo stato GET."
azione:
L'azione di un elemento è il valore dell'attributo formaction dell'elemento, se l'elemento è un pulsante Invia e ha un tale attributo, oppure il valore dell'attributo action del proprietario del modulo, se ne ha uno, oppure la stringa vuota. <...> Se action è la stringa vuota, lascia che action sia l'URL del documento del documento del modulo.
enctype: "Il valore mancante predefinito per l'attributo enctype è ... lo application/x-www-form-urlencoded
stato."
metodo: "I valori possibili (senza distinzione tra maiuscole e minuscole) sono 'get' (impostazione predefinita) e 'post'."
azione: nessun valore predefinito, DTD lo richiede
enctype: "Il valore predefinito per questo attributo è '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"
metodo: "Può essere GET o POST e il valore predefinito è GET."
azione: nessuna frase esplicita, solo
nell'enctype DTD : "L'impostazione predefinita è 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"
metodo: nessuna frase esplicita, solo
nell'azione DTD : "L'URI dell'azione di un modulo viene
impostato automaticamente sull'URI di base del documento" enctype: "La codifica predefinita per tutti i moduli è` application / x-www-form-urlencoded '. "
<!ATTLIST FORM
ACTION CDATA #IMPLIED
METHOD (%HTTP-Method) GET
ENCTYPE %Content-Type; "application/x-www-form-urlencoded"