Mga HTTP request method na ipinaliwanag
Ang HTTP ay tumutukoy ng siyam na standard na request method, pero karamihan sa pang-araw-araw na trapiko ay ilan lang ang ginagamit. Ipinapaliwanag ng talahanayang ito ang bawat method, kung ligtas at idempotent ito, at ang mga status code na ibinabalik ng matagumpay na tawag.
| Method | Layunin | Ligtas? | Idempotent? | Status ng tagumpay |
|---|---|---|---|---|
| GET | Retrieve a resource | Yes | Yes | 200 OK |
| HEAD | Retrieve headers only, no body | Yes | Yes | 200 OK |
| POST | Create a resource or trigger an action | No | No | 201 Created |
| PUT | Replace a resource entirely | No | Yes | 200 OK / 204 No Content |
| PATCH | Apply a partial update | No | No | 200 OK |
| DELETE | Remove a resource | No | Yes | 200 OK / 204 No Content |
| OPTIONS | CORS preflight; list allowed methods | Yes | Yes | 204 / 200 OK |
| TRACE | Echo the request back for diagnostics | Yes | Yes | 200 OK |
| CONNECT | Open a tunnel, e.g. HTTPS via a proxy | No | No | 200 OK |
Tala
- Ang ligtas ay nangangahulugang hindi kailanman binabago ng method ang estado ng server: tanging ang GET, HEAD, OPTIONS at TRACE ang mga ligtas na method.
- Ang idempotent ay nangangahulugang ang pag-uulit ng tawag ay nagbibigay ng parehong resulta tulad ng isang tawag: kwalipikado ang PUT, DELETE at GET; hindi ang POST at PATCH.
- Kapag hindi tinatanggap ng isang route ang isang method, ang server ay tumutugon ng 405 Method Not Allowed at karaniwang may kasamang Allow header.
Mga madalas itanong
- Ano ang pagkakaiba ng GET at POST?
- Ang GET ay kumukuha ng resource nang walang side effects at maaaring ulitin nang ligtas; ang mga parameter ay nasa URL. Ang POST ay gumagawa ng bagay o nag-trigger ng aksyon, maaaring magbago ng estado, at hindi dapat ulitin nang walang ingat.
- Ano ang ibig sabihin na ang isang HTTP method ay ligtas?
- Ang ligtas na method ay hindi kailanman nagbabago ng estado ng server, kaya maaari itong tawagin nang walang panganib. Ang GET, HEAD, OPTIONS at TRACE ay ligtas; ang POST, PUT, PATCH at DELETE ay hindi.
- Ano ang pagkakaiba ng PUT at PATCH?
- Ang PUT ay pumapalit sa buong resource gamit ang ipinadala mo; ang PATCH ay naglalapat lamang ng bahagyang pagbabago sa mga napiling field. Ang PUT ay idempotent, kaya ang pag-ulit ay pareho ang resulta; ang PATCH ay karaniwang hindi.
- Ano ang ginagawa ng HEAD method?
- Ang HEAD ay kumikilos tulad ng GET pero hindi nagbabalik ng response body. Ito ay kapaki-pakinabang para suriin kung may resource, ang laki nito o mga header, nang hindi dina-download ang buong nilalaman.