Bene, non mescolare concetti.
Da un lato ...
MVC è un modello architettonico del software . Può essere applicato anche alle app desktop, dove HTTP non è necessariamente coinvolto.
Nell'altro lato ...
HTTP è un protocollo di comunicazione. Come dice Wikipedia:
is an application protocol for distributed, collaborative, hypermedia information systems
Quindi, stai chiedendo se HTTP supporta un altro modo per passare l'informazione (parametrizzata) alternativa alle stringhe di query
Richiesta
Le comunicazioni HTTP sono fatte in termini di Richieste e Risposte
In ogni richiesta viene anche indicato un METODO . È solo un'istruzione all'applicazione lato server per dire a cosa ci aspettiamo che il server debba fare con le informazioni che inviamo . Ma non è un meccanismo per passare le informazioni . È un'istruzione aggiuntiva, non di più né meno.
Accanto ai metodi , qui abbiamo 3 possibili modi per passare parametri al server
1. Stringa di query
Metodo coinvolto: RICEVI
L'informazione viene informata (parametrizzata) nell'URL. Questo è l'esempio che hai esposto
http://localhost:8080/domain1/servlet1?param1=X¶m2=X¶m3='X'
La sua capacità è limitata a 64Kb (se la memoria serve). Questo è il modo base
2. BODY
Metodi coinvolti: POST | PUT
Un messaggio è previsto nel corpo della Richiesta . Questo messaggio è noto come payload , forma , corpo ma può anche essere binari. Il formato del messaggio può essere xml , testo semplice , json , ....
Tuttavia, siamo ancora in grado di passare informazioni tramite stringa di query nella stessa richiesta. Quindi parte delle informazioni sarà nell'URL e un'altra parte sarà nel corpo della richiesta
Le informazioni qui vengono crittografate se stiamo lavorando in ambiente SSL.
Per informazioni di base ed esercitazioni, consulta questo link W3Schools - Html Forms . Prendilo come esempio di come inviare informazioni tramite moduli da un modulo html.
3. INTESTAZIONE
Metodi coinvolti: Qualsiasi
Qualsiasi richiesta da A a B (essendo B il lato server) ha un'intestazione . Le informazioni qui non sono destinate ad essere elaborate dall'attività della tua app. Non sono dati correlati alla tua attività. Tuttavia puoi inserire informazioni comunque. È il luogo in cui vengono informati i token di sicurezza tra un cliente e qualsiasi resto API protetto. Inoltre alcuni altri parametri relativi all'ambiente e alcuni parametri indirizzati al web server. Informa anche il tipo di contenuto previsto nella risposta e anche il tipo di contenuto delle informazioni inviate (xml, json, binary, multipart, ecc.)
Quindi sì ci sono altri modi per informare i parametri sul server. Ma il modo di implementare tali modi dipende dalla tua piattaforma . Ci sono molte piattaforme e framework orientati a rendere questo compito facile. A questo punto avremmo bisogno di sapere su quale piattaforma è in esecuzione il tuo progetto. Su quale linguaggio di programmazione si sta costruendo.
Infine vorrei sottolineare che Rest non può essere descritto come un meccanismo supportato dal protocollo HTTP per passare informazioni. È uno stile architettonico del software.
Utilizza il sintassi dell'URL per passare informazioni, mettiamola È una convenzione, non un meccanismo del protocollo
Alla tua risposta
If I would need to register a new row in a table in the database, how should we pass the various value of column into the system?
Il modo migliore sarà: POST , usando moduli html . Consulta W3schools - Moduli HTML
Un altro modo può essere: POST , usando Ajax . In questo modo ha più complessità. Ma ti consente di inviare una serie di modifiche in una singola richiesta.
Per farlo tramite il modulo Html è un po 'più complicato.
Sarebbe bello sapere quali librerie o quadri stai usando nel tuo progetto.
Nota : è inteso in questo post per fare un'introduzione breve, non tecnica a HTTP. Qualsiasi soluzione o modo migliore per dire quello che ho cercato di spiegare è il benvenuto.