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? parametrs=vērtība”, savukārt POST pieprasījuma URL izskatītos šādi: “POST.php”, un pēc tam pieprasījuma pamattekstā būtu iestatīts parametrs “parameter=value”.
Viena no galvenajām sekām ir tāda, ka, kad tīmekļa serveri žurnāla pieprasījumi tiek reģistrēti, pieprasītais URL vienmēr tiek reģistrēts. 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, kas satur sensitīvus datus, piemēram, paroles vai PII (Personiski identificējama informācija), jo POST izmantošana nozīmē, ka šī informācija netiek pieteikta tīmekļa serveri.
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 datu sūtīšanai uz tīmekļa serveri, taču to darīt ir slikta ideja, jo visi šie faktori stājas spēkā. 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, tas atklātu lietotāja paroli, un, ja atbildi kešatmiņā saglabājusi trešā puse, tā var ļaut citiem lietotājiem pierakstīties lietotāja konts.