L'utilizzo del verbo di richiesta HTTP come GET, POST, DELETE, PUT ecc ... consente di creare applicazioni Web RESTful. Leggi qui: http://en.wikipedia.org/wiki/Representational_state_transfer
Il modo più semplice per vedere i benefici da questo è guardare questo esempio. Ogni framework MVC ha un Router/Dispatcher
che mappa gli URL su actionControllers. Quindi URL come questo: /blog/article/1
invocerebbe blogController::articleAction($id);
ora questo router è a conoscenza solo dell'URL o/blog/article/1/
Ma se quel router fosse a conoscenza dell'intero oggetto Richiesta HTTP invece del solo URL, potrebbe avere accesso al verbo Richiesta HTTP (GET, POST, PUT, DELETE ...) e molte altre cose utili sulla richiesta HTTP corrente.
Ciò consentirebbe di configurare l'applicazione in modo che possa accettare lo stesso URL e mapparlo a diversi actionController a seconda del verbo di richiesta HTTP.
Per esempio:
se vuoi recuperare l'articolo 1 puoi farlo:
GET /blog/article/1 HTTP/1.1
ma se vuoi eliminare l'articolo 1 lo farai:
DELETE /blog/article/1 HTTP/1.1
Si noti che entrambe le richieste HTTP hanno lo stesso URI, / blog / articolo / 1, l'unica differenza è il verbo di richiesta HTTP. E in base a quel verbo il tuo router può chiamare differenti actionController. Ciò ti consente di creare URL accurati.
Leggi questi due articoli, potrebbero aiutarti:
Symfony 2 - Fondamenti di HTTP
Symfony 2 - Routing
Questi articoli riguardano il framework Symfony 2, ma possono aiutarti a capire come funzionano le richieste e le risposte HTTP.
Spero che sia di aiuto!