HTML request paraan

Ano ang HTTP?

Ang Hypertext Transfer Protocol (Hypertext Transfer Protocol, iskurmikado na HTTP) ay nakalaan upang magbigay-daan sa komunikasyon sa pagitan ng kliyente at server.

Ang HTTP ay nagsisilbing protocol ng request-response sa pagitan ng kliyente at server.

Halimbawa: Ang kliyente (browser) ay nagpadala ng HTTP request sa server; pagkatapos ay ibabalik ng server ang tugon sa kliyente. Ang tugon ay may kasamang impormasyon tungkol sa estado ng request, maaaring mayroon din itong hiniling na nilalaman.

HTTP paraan

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

Ang pinaka ginagamit na dalawang paraan ay: GET at POST.

GET paraan

GET ginagamit upang humingi ng datos mula sa nakatalagang resorsa.

Ang GET ay isa sa pinaka-karaniwang paraan ng HTTP.

Pansin na ang query string (pares ng pangalan/galugad) ay ipinapadala sa URL ng GET request:

/test/demo_form.php?name1=value1&name2=value2

Ilang ibang komento tungkol sa GET request:

  • Ang GET request ay maaaring i-cache
  • Ang GET request ay maipapag-iwan sa kasaysayan ng browser
  • Ang GET request ay maaaring i-collect bilang bookmark
  • Hindi dapat gamitin ang GET request sa pagpapa-proseso ng sensitive data
  • May limitasyon ang haba ng GET request
  • Ang GET request ay dapat gamitin lamang upang kunin ang data (hindi maibahagi)

Ang POST na paraan

Ginagamit ang POST upang ipaalam ang data sa server upang lumikha/ibahagi ang resource.

Ang data na ipinapadala sa server sa pamamagitan ng POST ay inilagay sa request body ng HTTP request:

POST /test/demo_form.php HTTP/1.1
Host: codew3c.com
name1=value1&name2=value2

Ang POST ay isa sa pinaka-karaniwang paraan ng HTTP.

Ilang ibang komento tungkol sa POST request:

  • Ang POST request ay hindi maaaring i-cache
  • Ang POST request ay hindi maipapag-iwan sa kasaysayan ng browser
  • Hindi maaaring i-collect bilang bookmark ang POST
  • Wala ang POST request ay kahilingan sa haba ng data.

Ang PUT na paraan

Ginagamit ang PUT upang ipaalam ang data sa server upang lumikha/ibahagi ang resource.

Ang pagkakaiba ng POST at PUT ay ang PUT request ay idempotent (idempotent). Ibig sabihin, ang pagtawag ng parehong PUT request mula sa katulad na resulta sa bawat pagtawag. Sa kabilang banda, ang pagtawag ng POST request ay may epekto ng paglikha ng parehong resource ng maraming beses.

Ang HEAD na paraan

Ang HEAD ay halos katulad ng GET, ngunit walang response body.

Sa ibang salita, kung ang GET /users ay nagbibigay ng listahan ng mga user, ang HEAD /users ay magpadala ng parehong request, ngunit hindi ay magbibigay ng listahan ng mga user.

Ang HEAD na request ay lubos na kapaki-pakinabang sa pag-check ng content na magiging return ng GET request bago itong isend (halimbawa, bago ang pag-download ng malaking file o bago ang response body).

Ang DELETE na paraan

Ang DELETE na paraan ay nag-aalis ng tinukoy na resource.

Ang OPTIONS na paraan

Ang OPTIONS na paraan ay naglalarawan ng mga opsyon ng komunikasyon ng target resource.

Paghahambing ng GET at POST

Ang tablad sa ibaba ay nagtatalaga ng dalawang paraan ng HTTP: GET at POST.

  GET POST
Nagpapatuloy na button/refresh Harmless Ang data ay muling isusumite (dapat ipaalam ng browser na ang data ay muling isusumite).
Bookmark Maaaring i-collect bilang bookmark Hindi maaaring i-collect bilang bookmark
I-cache Maaari itong i-cache ไม่สามารถคั่นครองได้
ประเภทการเข้ารหัส application/x-www-form-urlencoded application/x-www-form-urlencoded หรือ multipart/form-data ใช้การเข้ารหัสเมื่อข้อมูลเป็นแบบบิไนเนอร์
ประวัติ ตัวอักษรจะถูกเก็บเอาไว้ในประวัติการทำงานของเบราเซอร์ ตัวอักษรจะไม่ถูกเก็บเอาไว้ในประวัติการทำงานของเบราเซอร์
ข้อจำกัดต่อความยาวข้อมูล ใช่ ขณะที่ส่งข้อมูล GET ต่อไปยัง URL ของมัน ความยาวของ URL มีข้อจำกัด (ความยาวของ URL สูงสุดคือ 2048 ตัวอักษร) ไม่มีข้อจำกัด
ข้อจำกัดต่อประเภทข้อมูล อนุญาตแค่ตัวอักษร ASCII ไม่มีข้อจำกัด และยังอนุญาตข้อมูลที่เป็นแบบบิไนเนอร์
ความปลอดภัย

ข้อความ GET มีความปลอดภัยต่ำกว่า POST เพราะข้อมูลที่ส่งไปเป็นส่วนหนึ่งของ URL

ไม่ควรใช้ GET สำหรับการส่งรหัสผ่านหรือข้อมูลที่เป็นความลับ!

POST มีความปลอดภัยมากกว่า GET เพราะตัวอักษรจะไม่ถูกเก็บเอาไว้ในประวัติการทำงานของเบราเซอร์หรือบันทึกการบันทึกของเซิร์ฟเวอร์ web
ความเห็น ข้อมูลใน URL สามารถเห็นโดยทุกคน ข้อมูลจะไม่แสดงใน URL