Cual Elegirian
Que tal,
De la siguiente lista Cual metodo elegirian para cada situacion.
Quisiera saber su opinion porque para mi el metodo GET, ademas de ser el mas sencillo se utiliza en situaciones
especificas que no requieren mayor seguridad.
1.- Post Get -----> A user is returning a login name an password
2.- Post Get -----> A user is requesting a new page via a hyperlink
3.- Post Get -----> A chat rom user is sending a written response
4.- Post Get -----> A user hits the 'next' button to see then next page
5.- Post Get -----> A user is hist the 'log out' button on the browser
6.- Post Get -----> A user is hist the 'back' button on the browser
7.- Post Get -----> A user sends a name and address form to the server
Mi eleccion quedaria de la siguiente manera:
1.- GET
2.-POST
3.- POST
4.- GET
5.- GET
6.- POST
7.- GET
SALUDOS !!!!
- Inicie sesión o regístrese para enviar comentarios
1P 2G 3P 4G 5P 6G ( bueno
1P
2G
3P
4G
5P
6G ( bueno depende, llegó a esta página por post? entonces post )
7P
Mi criterio:
El post no es más seguro que el get. Pero el post sirve para enviar más información que el get. El get es más útil cuando lo que se quiere obtener es una cosa "fija" ( como un link ) con el post estamos cambiando la pagina ( al menos conceptualmente )
igual que Oscar
POST, GET, POST, GET, POST, GET, POST
POST es tantititititito más seguro que GET, porque los datos no viajan en el URL. Si haces un login usando GET, el usuario y password viajan en el URL y eso tiene varios efectos no deseados:
Todo lo anterior no ocurre con POST. Los datos van sin cifrar ni nada si usas HTTP y cualquier sniffer los agarra, o un proxy malicioso, pero un proxy confiable no va a guardar esa info y ciertamente no la va a poner en un log. Un web server tampoco dejará los datos de POST en un log. Los datos no se quedan en el navegador tampoco, no se afectan las sugerencias de URL's y cosas así. Y finalmente, si después de un POST le das al botón de regresar en el navegador, te sale una advertencia de que llegaste a esa página por POST y el botón de atrás reenviaría ese POST.
Adicionalmente, como ya mencionó Oscar, el POST permite enviar más datos; recuerda que los URL tienen un límite dependiendo del navegador Y del servidor web (varía y puede ser desde 1024 caracteres hasta 4000 o más).
GET O POST
tengo entendido que al enviar los datos por el GET estos son visibles en la URL del navegador viendolo de esta manera me quedo con el Metodo POST que ademas de ocultar la informacion me permite enviar aun mas info que el GET.
REST Architecture
La semántica de los métodos del protocolo HTTP está muy bien descrita en la arquitectura REST para servicios Web y también en la propia definición del protocolo. Conviene, sea un servicio Web o no, tratar de usar esos métodos de acuerdo con sus definiciones. Queda más clara la aplicación para los que siguen esos estandares.
De acuerdo con http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html ( lo dejo en inglés):
POST: The POST method is used to request that the origin server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
POST is designed to allow a uniform method to cover the following functions:
- Annotation of existing resources;
- Posting a message to a bulletin board, newsgroup, mailing list,
or similar group of articles;
- Providing a block of data, such as the result of submitting a
form, to a data-handling process;
- Extending a database through an append operation.
TRACE: The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
REST Meaning
Ahora si coincido con bferro por completo, a GET, POST y los otros "verbs" no se les puede clasificar solo sobre la dimension de la seguridad... especialmente por que HTTP no es un protocolo seguro, asi que para un sniffer es exactamente lo mismo (si, eso significa que cualquiera puede leer tu correo mientras usas es linda interfaz web que te proporcionan hotmail, o yahoo, o algun otro a menos que la url diga HTTPS todo el tiempo... ) para saber mas sobre REST te recomiendo este articulo
O sea: > El get es más útil
O sea:
> El get es más útil cuando lo que se quiere obtener es una cosa "fija" ( como un link ) con el post estamos cambiando la pagina ( al menos conceptualmente )
Significado de verbos REST
Mas o menos, el get representa la obtencion de un recurso "fijo", el post... bueno, el post no significa exactamente que estemos cambiando la pagina, yo solia creer que REST se podia mapear directo a CRUD:
GET -> Read
DELETE -> Delete
POST->Insert/Update
PUT ->Insert/Update
Y mapeaba a POST y a PUT hacia la misma operacion CRUD, pero ahora ya no estoy tan seguro...
Por lo que he leido la diferencia entre POST y PUT es la URI. En PUT la URI identifica a la entidad dentro de la peticion (la entidad que tu quieres insertar o actualizar) mientras qeu en POST la URI identifica al recurso que manejara a la entidad dentro de la peticion
Asi pues, POST es como decir "Recurso X, haz algo con esta Entidad Y que viene en la peticion", mientras que PUT es mas como "Inserta/Actualizar a esta Entidad Y que vien en la peticion para que sea el Recurso X"
Entonces POST es mas como "Dile a X que haga algo con Y"...
Aja.. y PUT como "toma este
Aja.. y PUT como "toma este contenido / archivo / datos y ponlos en tal ruta".
Pero como el tema original es(ra) GET/POST, pos no se mencionó.
Muchos recursos sobre REST but,
Si les interesa, la tesis doctoral de Roy Fielding donde presenta REST al planeta está en http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm