Kas ir HTTP metodes un kā tās izmantot?

Kas ir HTTP metodes un kā tās izmantot?
Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Katrs HTTP pieprasījums izmanto metodi, lai aprakstītu tā galveno mērķi. Katrai metodei ir īpašs lietojums uzdevumiem, sākot no tīmekļa lapas iegūšanas līdz resursa dzēšanai. GET un POST ir divi pazīstamākie, taču ir vēl septiņi citi.





Uzziniet par šo koncepciju un to, kam paredzēta katra no deviņām iespējamām HTTP metodēm.





Kas ir HTTP metode?

Katrs HTTP pieprasījums ietver darbību un šīs darbības mērķi, līdzīgi kā darbības vārds un lietvārds, kas darbojas kā objekts.





DIENAS VIDEO MAKEUSEOF RITINĀT, LAI TURPINĀTU AR SATURU

URL identificē unikālu resursu, kas darbojas kā pieprasījuma mērķis. Tikmēr darbības vārds — kāda darbība jāveic šajā URL — tiek attēlots ar metodi.

HTTP pieprasījuma pirmajā rindā ir sniegta vissvarīgākā informācija, tostarp HTTP versija, resursa URL un pieprasījuma metode:



 GET /software/htp/cics/index.html HTTP/1.1 

Kādas ir 9 HTTP metodes?

Pirmās četras metodes ir ekvivalentas četrām darbībām no CRUD modeļa: Izveidot, Lasīt, Atjaunināt un Dzēst. Attiecīgās HTTP metodes ir POSTĪT , GŪT , PUT , un DZĒST .

kā izsaiņot tar gz failu Linux

GŪT

Visizplatītākais noklusējuma pieprasījums, ko nosūtāt, pārlūkojot tīmekli un noklikšķinot uz saitēm vai pieprasot datus, izmantojot API. Serverim ir jāatgriež resurss atbildes pamattekstā.





POSTĪT

Izmantojiet POST, lai izveidotu jaunus resursus, jo īpaši, ja šiem resursiem ir identificējams vecākais resurss. Piemēram, ja jums ir /clients resurss, jums ir jāizveido jauns klients, POSTĪT nepieciešamos datus /clients.

PUT

Atjauniniet vai nomainiet esošo resursu. Tas ir līdzīgs POST, taču klients ir atbildīgs par unikāla resursa identifikatora izvēli. Lai izveidotu resursu, izmantojot PUT, resursa vietrādī URL ir jāiekļauj identifikators, piemēram, /clients/007 .





DZĒST

Izmantojiet šo metodi, lai dzēstu vietrādī URL norādīto resursu. Tāpat kā visas HTTP metodes, atbalsts ir atkarīgs no servera. Tas var ļaut ikvienam izdzēst resursu, lai gan tas noteikti būtu riskanti. Parasti būs nepieciešams serveris, kas atbalsta DELETE autentifikācija un autorizācija .

Divas citas metodes nodrošina nelielas iepriekšminētās izmaiņas: PLĀKSTS un GALVA . Tās var būt noderīgas, ja izmantojat noteiktas API vai veidojat savu.

PLĀKSTS

PATCH metode atjaunina esošu resursu ar tikai daļējiem datiem. Citiem vārdiem sakot, jums nav jāiesniedz pilns jaunā resursa attēlojums, tikai jāatjaunina lauki.

HEAD pieprasījums ir paredzēts, ja vēlaties iegūt informāciju par resursu, bet ne par pašu resursu. Atbildē netiks iekļauts pamatteksts, bet tajā būs noderīgu HTTP galveņu kopa. Faila kopējo lielumu varat uzzināt pirms tā lejupielādes, izmantojot atbildes galveni Content-Length.

Pārējās metodes - IESPĒJAS , SAVIENOTIES , un TRACE — ir neskaidrāki. Viņi nodarbojas ar metadatiem, tīklu veidošanu un problēmu novēršanu. Jums tie var šķist noderīgi noteiktos programmēšanas veidos, taču jūs, iespējams, tos neizmantosit katru dienu.

IESPĒJAS

Serverim ir jāreaģē uz šo metodi, norādot, kuras HTTP metodes resurss faktiski atbalsta. Tas var būt noderīgi atklājumiem.

SAVIENOTIES

Dažu veidu tīkla programmatūra var izmantot šo metodi, lai izveidotu tuneli starp diviem datoriem. To bieži izmanto, lai iniciētu HTTPS savienojumu, izmantojot starpniekserveri.

TRACE

Šī metode ir noderīga problēmu novēršanai. Saņemot to, serverim jānosūta atpakaļ pieprasījums, ko tas saņēma atbildes pamattekstā. Metode nodrošina mehānismu, lai pārbaudītu, vai starpposma iekārtas ir mainījušas kādu pieprasījuma informāciju.

GET un HEAD ir vienīgās divas metodes, kuras atbalsta katrs vispārīgais tīmekļa serveris. Konkrēts serveris var atbalstīt vai neatbalstīt citas metodes, tāpēc vispirms pārbaudiet.

Kad jūs varat izmantot šīs metodes?

Lielāko daļu laika HTTP metodes jums būs pārredzamas. Tomēr jums tie būs jāņem vērā, ja tīmekļa lapai pievienojat veidlapu vai izmantojat API.

kā izdzēst vecos Windows atjauninājumus

HTTP metodes HTML

The formā elements metodi atribūts ļauj iestatīt HTTP metodi, kas jāizmanto veidlapas iesniegšanai. HTML atbalsta tikai pastu un gūt šī atribūta vērtības, kā arī neskaidra dialoga alternatīva.

 <form method="post"> 
  ...
</form>

Varat izmantot tādas funkcijas kā Chrome izstrādātāja rīki Skatīt Tīkls trafiku un apstipriniet metodi, ko jūsu pārlūkprogramma nosūta konkrētam pieprasījumam. Ņemiet vērā, ka lielākā daļa tīmekļa veidlapu nosūtīs POST, jo tās parasti atjaunina datus serverī. Tomēr daudzas meklēšanas formas izmanto GET, jo tās vienkārši iegūst datus, tos nemainot.

  Chrome izstrādātāja rīku panelis, kurā ir redzami 3 pieprasījumi ar dažādām metodēm: POST, GET un PATCH

Tā kā POST dati nav daļa no URL, tie ir privātāki nekā tad, ja tos nosūtāt, izmantojot GET. Dati joprojām pastāv pieprasījuma pamattekstā, kur teorētiski uzbrucējs var tos pārtvert. Taču datu sūtīšanai, izmantojot HTTPS, šī problēma ir jāmazina.

Nekad nevajadzētu ieviest lietotāja pieteikšanos ar GET pieprasījumiem. Lai gan pieteikšanās var šķist vairāk kā lasīšanas darbība, nevis izveide vai atjaunināšana, jums joprojām ir jāizmanto POST, lai aizsargātu datus.

Tā kā HTML veidlapas atbalsta tikai GET un POST, jūs nevarat tieši izveidot veidlapu, kas, piemēram, dzēš servera resursu. Izplatīts risinājums, kas ievēro REST principus serverī, ir izmantot viettura mainīgo un izlikties, ka tā bija sākotnējā HTTP metode. Piemēram:

F2ED0D7A1E1170B462C057AF9A274955AACD873

Jūsu servera puses kods var pārbaudīt šī “starpniekservera metodes” mainīgā esamību un uzskatīt to tā, it kā tā būtu patiesā izmantotā metode. Piemēram, PHP:

 $method = $_SERVER["REQUEST_METHOD"]; 

if (array_key_exists("_method", $_REQUEST)) {
  $method = $_REQUEST["_method"];
}

Programmatiska HTTP pieprasījumu sūtīšana

Web Fetch API nodrošina fetch() JavaScript funkciju, ko varat izmantot, lai nosūtītu HTTP pieprasījumu. Tas atbalsta visu metožu klāstu, ne tikai GET un POST, ko atbalsta HTML.

Funkcija Funkcija pēc noklusējuma nosūtīs GET pieprasījumu. Lai izmantotu citu metodi, norādiet tās nosaukumu kā a vērtību metodi rekvizītu objektā, kuru nosūtāt kā otro argumentu.

 fetch('https://example.com/', { method: "HEAD" }); 

Varat arī nosūtīt HTTP pieprasījumus no daudzām servera puses valodām, tostarp no PHP. Šajā valodā loku bibliotēka ir izplatīts veids, kā nosūtīt šādus pieprasījumus.

Saliekšanas bibliotēkai ir opcija CURLOPT_CUSTOMREQUEST, kuru varat iestatīt, lai norādītu metodi

 if ($ch = curl_init($url)) { 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
    curl_exec($ch);
    // ...
}

Izmantojot komandrindu

Curl komandrindas rīks ļauj pārsūtīt datus uz serveri vai no tā, izmantojot vienu no vairākiem protokoliem. HTTP (un HTTPS) ir divi ļoti izplatīti lietošanas gadījumi.

Photoshop neatvērs pilnu skrāpējumu

Pēc noklusējuma curl nosūta GET pieprasījumu, ko varat apstiprināt ar šādu komandu:

 curl -v -s -o /dev/null example.com/get-test 

Pieprasījuma metodi var redzēt izvades piektajā rindā:

  Piemērs GET pieprasījumam, izmantojot curl.

Varat mainīt pieprasījuma metodi, ko curl sūta, izmantojot karogu -X:

 curl -v -s -o /dev/null example.com/get-test -X POST 

Tagad curl nosūta pieprasījumu, izmantojot POST metodi:

  POST pieprasījuma piemērs, izmantojot curl.

HTTP ir daudz lietojumu

Lielākā daļa no tā, ko darāt tīmeklī, ietvers standarta GET pieprasījumus, ar laiku pa laikam POST veidlapu iesniegšanai. Bet HTTP ir daudz izteiksmīgāks protokols, nekā tas liek domāt.

Dažas no visizplatītākajām metodēm atspoguļo CRUD modeli, kas padara HTTP par lielisku pamatu, lai izveidotu uz resursiem vērstu API.