Jusqu'à présent, j'ai vu la bonne réponse fait allusion à plusieurs reprises, et presque tout le monde a peur de ce que je considère subjectivement à la marque.
Commençons par la base:
Une requête HTTP peut être l'un des verbes HTTP, mais le principal deux personnes utilisent sont GET et POST. Eh bien, ce sont les deux un programmeur utilise le plus souvent. Les autres ont tous un but, si elles sont mises en œuvre sur le serveur. Lorsque vous envoyez des informations pour le serveur, vous pouvez le faire soit par le biais de l'utilisation de l'URL (pour la demande d'une page) ou dans le corps de la requête (POST, PUT, DELETE, par exemple).
Maintenant, vous aurez remarque (je suis sûr) que l'URL d'une requête GET contient souvent des données, et c'est vrai, mais selon le W3C, vous ne devriez pas utiliser GET pour modifier l'état, et pourtant nous le faisons souvent. C'est une sorte de hack que nous sommes tous d'accord est d'une utilisation réelle, et non pas un hack. Si cela fait un hack ou une mise en œuvre effective de détails je laisse jusqu'à vous.
Ainsi, lorsque vous envoyez le corps de la POSTE (en ignorant les autres pour l'instant, vous pouvez le comprendre, à partir d'ici) avec les éléments de formulaire, vous l'envoyez en retour de certains éléments. Comment ces éléments sont définis à vous et à l'environnement dans lequel vous travaillez. Vous pourrait poster à un serveur avec un JSON élément dans le corps, ou avec XML, ou avec des champs de formulaire. En général, nous ne poteaux à partir d'un élément de FORMULAIRE dans le corps de l'HTML.
Maintenant tout le monde dit, "oh, une publication est une requête vers une page". Mais, ce n'est pas vrai. Une publication est lorsque vous envoyez des données via la POSTE -> sur le serveur. Je dis cela parce que la différence entre une demande et une demande POST est de savoir si les données sont incluses dans le corps (et le verbe utilisé, mais en général, le client sait comment traiter avec que). Vous pourriez publication de la page pour la première fois, la page est visitée, et en fait ASP.NET a les outils pour le faire que dans la bibliothèque. Vous pourriez certainement avoir un client de bureau de POSTE de données à un serveur (pensez à Twitter), sans montrer aucune page web à tous à partir du serveur (ok, twitter n'est probablement pas le meilleur concept pour un exemple ici, mais je veux illustrer que vous pouvez utiliser un client qui ne veut pas afficher la page web, de sorte qu'aucune demande n'est nécessaire).
Alors, vraiment ce que vous devriez y lire dans "publication" est "je suis l'Affichage de données vers le serveur pour le traitement". Il est présumé que vous avez récupéré la page initialement avec un GET pour afficher à l'utilisateur l' <form>
élément qui a <input>
champs d'interagir avec, et qu'à la fin vous êtes l'envoi des données en retour. Mais j'espère que vous pouvez voir qu'il n'a pas à être dans l'ordre.
Alors, voici quelque chose d'autre à prendre en compte:
Que faire si vous avez donné à l'utilisateur une page avec un tas d' <input>
s et pas <form>
mais au lieu de cela, avait un bouton programmé en javascript pour concat tous ceux - <input>
s avec &value-n=
et de les envoyer comme un GET? Fait la même chose, mais viole la notion de seulement OBTENIR de l'aide pour les demandes. (peut-être)le débat qui a suivi m'encourage à le renforcer, GET devrait pas avoir d'effets secondaires (pas de mise à jour des valeurs)
C'est comment vous pouvez l'envoyer à quelqu'un un lien vers une recherche google, par exemple. Donc, nous n'avons pas TOUJOURS de publier sur le serveur pour obtenir les données.
Espérons que cette aide.
Cheers