Каква е разликата между публикуване и получаване на заявки?

GET и POST са двата най-често използвани метода за HTTP заявка. Обикновено GET заявките се използват за заявяване на уеб страници, докато POST се използва за изпращане на данни до уеб сървъра, като например чрез уеб формуляр.

Съвет: Въпреки че се наричат ​​HTTP методи, GET и POST също се използват в HTTPS.

Едно от важните разлики е, че всички параметри, включени в GET заявките, са включени в самия URL адрес, докато параметрите в POST заявките са част от тялото на заявката.

Например URL адресът на GET заявка може да изглежда като „GET.php? parameter=value“, докато URL адресът за POST заявка ще изглежда като „POST.php“ и след това има зададен „parameter=value“ в тялото на заявката.

Едно от ключовите последици от това е, че когато уеб сървърите заявят лог, исканият URL винаги се регистрира. Така че, за GET заявките, параметрите също се записват, в случай на POST заявки, въпреки че стойностите не се записват, тъй като тялото на заявката не се записва. Това е особено важно за формуляри, които съдържат чувствителни данни като пароли или лични данни (Лично идентифицираща информация), тъй като използването на POST означава, че тази информация не се влиза в системата уеб сървъри.

Други разлики между GET и POST включват факта, че GET заявките могат да бъдат кеширани от браузъра или кеша на трети страни, GET заявките са включени в историята на браузъра и могат да бъдат маркирани. POST заявките в сравнение никога не се кешират, не се записват в историята на браузъра и не могат да бъдат маркирани.

Възможно е да конфигурирате формуляри да използват GET заявка за изпращане на данни до уеб сървъра, но това е лоша идея, тъй като всички тези фактори влизат в игра. Това е особено важно за чувствителни форми като формуляри за вход, тъй като ако тази заявка е регистрирана, тя ще разкрие паролата на потребителя и ако отговорът е кеширан от трета страна, това може да позволи на други потребители да влязат в потребителския сметка.