Ich persönlich bin kein Freund von dieser Einordnung (GET = Lesen, POST = Schreiben usw.).
Vor allem da auf technischer Ebene es große Unterschiede gibt und nicht jedes "Lesen" mit einem GET abgedeckt werden kann ... so entstehen schnell Wildwuchs und Ausnahmen.

Zum technischen Unterschied:
Da beim GET alle Parameter über den HTTP-Header (z.B. URL) übermittelt werden, werden diese Daten unverschlüsselt über die Leitung übertragen.
Bei POST liegen die Daten im HTTP-Body und diese sind bei HTTPS immer verschlüsselt.
Auch bei der Länge ist GET eingeschränkt gegenüber POST.
Dann gibt es noch das Thema mit Sonderzeichen oder Binärdaten usw.

Meine persönliche Regel:

GET wird verwendet, wenn nur wenige Parameter, übertragen werden, die nicht verschlüsselt werden müssen (z.B. in der URL).

Gibt es mehr Daten, vielleicht sogar mit einer komplexeren Struktur (JSON, XML), wird POST verwendet.

lg Andreas