GET un POST ir divas visbiežāk izmantotās HTTP pieprasījuma metodes. Parasti GET pieprasījumus izmanto, lai pieprasītu tīmekļa lapas, savukārt POST izmanto datu nosūtīšanai uz tīmekļa serveri, piemēram, izmantojot tīmekļa veidlapu.
Padoms. Lai gan tās sauc par HTTP metodēm, gan GET, gan POST tiek izmantotas arī HTTPS.
Viena no svarīgajām atšķirībām ir tāda, ka visi parametri, kas iekļauti GET pieprasījumos, ir iekļauti pašā URL, savukārt parametri POST pieprasījumos ir daļa no pieprasījuma pamatteksta.
Piemēram, GET pieprasījuma URL var izskatīties šādi: “GET.php?parameter=value”, savukārt POST pieprasījuma URL izskatīsies šādi: “POST.php”, un pēc tam pieprasījuma pamattekstā ir iestatīts parametrs “parameter=value”.
Viena no galvenajām sekām ir tāda, ka tīmekļa serveru žurnāla pieprasījumos vienmēr tiek reģistrēts pieprasītais URL. Tātad GET pieprasījumiem parametri tiek reģistrēti arī POST pieprasījumu gadījumā, lai gan vērtības netiek reģistrētas, jo pieprasījuma pamatteksts netiek reģistrēts. Tas ir īpaši svarīgi veidlapām, kurās ir ietverti sensitīvi dati, piemēram, paroles vai PII (personiski identificējama informācija), jo, izmantojot POST, šī informācija netiek reģistrēta tīmekļa serveros.
Citas atšķirības starp GET un POST ietver faktu, ka GET pieprasījumus var saglabāt kešatmiņā pārlūkprogrammā vai trešās puses kešatmiņā, GET pieprasījumi ir iekļauti pārlūkprogrammas vēsturē un var tikt pievienoti grāmatzīmēm. Salīdzinājumam POST pieprasījumi nekad netiek saglabāti kešatmiņā, netiek saglabāti pārlūkprogrammas vēsturē un tos nevar pievienot grāmatzīmēm.
Ir iespējams konfigurēt veidlapas, lai izmantotu GET pieprasījumu, lai nosūtītu datus uz tīmekļa serveri, taču to darīt ir slikta ideja, jo visi šie faktori tiek ņemti vērā. Tas ir īpaši svarīgi sensitīvām veidlapām, piemēram, pieteikšanās veidlapām, jo, ja šis pieprasījums tiktu reģistrēts, tajā tiktu atklāta lietotāja parole, un, ja atbildi kešatmiņā saglabā trešā puse, tas varētu ļaut citiem lietotājiem pierakstīties lietotāja kontā.