2012-06-27 13 views
8

Jestem nowy w REST. Chcę wiedzieć, kiedy używać metod pobierania i kiedy używać metod postów. W trakcie mojej ankiety z literatury natknąłem się na tę wiedzę.Różnica między metodą Get i post w porównaniu z HTTP i REST

Właściwie kiedy szukałem HTTP GET i pocztowych metod, czytałem, że się nie robi kodowanie URL i post koduje URL

Kiedy szukałem pozostałej dostać i metody pocztowe, czytałem, że metody GET jest używany do pobierania dane z serwera i metody postu to dodanie niektórych danych do serwera.

Ale czytałem również, że reszta to nic innego jak konwencja do korzystania z HTTP.

Czuję, że niektóre rzeczy są tutaj sprzeczne. Czy metody HTTP są różne?

Proszę wyjaśnić. Również wszelkie sugestie na temat kiedy używać metody GET i POST są mile widziane

zasób, z którego mam tę informację:

https://www.ibm.com/developerworks/webservices/library/ws-ful/

http://www.cs.tut.fi/~jkorpela/forms/methods.html

+0

Czy GET i POST można używać w tej samej metodzie? – Arti

Odpowiedz

11

GET powinny być wykorzystywane do pobierania zasobów. Ta operacja powinna być idempotentna, co oznacza, że ​​nie powinna zmieniać żadnego stanu na serwerze.

POST należy użyć do dodania nowych informacji do serwera. Zwykle jest to wykonywane na adresie URL reprezentującym "kontener" zasobów. POST doda nowy zasób do tego kontenera.

Należy użyć PUT, aby zaktualizować istniejący zasób.

USUŃ powinno być oczywiste.

Możecie cieszyć się czytając to: http://tomayko.com/writings/rest-to-my-wife

+1

Nitpicking: "idempotent" nie oznacza "nie zmienia stanu". 'DELETE' zmienia stan, ale jest idempotent. "Nie zmienia stanu" jest właściwie określane jako "bez skutków ubocznych". –

+0

Z Wikipedii: Idempotencja jest własnością niektórych operacji z matematyki i informatyki, które można stosować wielokrotnie, bez zmiany wyniku poza początkową aplikację. [END QUOTE]. Zgodnie z tą definicją, DELETE nie powiedzie się, gdy zostanie wykonany po raz drugi. –

+0

Czy możemy używać GET i POST na tej samej metodzie? – Arti

0

Część swoje pytanie który nie otrzymał żadnej uwagi jak dotąd, i który jest prawdopodobnie powodując niektóre z zamieszania, to: „REST jest tylko konwencją do użyj protokołu HTTP. " Co jest niedokładnym sposobem opisywania tego, co REST jest/robi w odniesieniu do niego, używając protokołu HTTP do manipulowania stanem aplikacji. Jest to oficjalnie znane jako HATEOAS - http://en.wikipedia.org/wiki/HATEOAS i jest prawie sercem koncepcji usług sieciowych RESTful.

Powiązane problemy