4.1 รายการเมธอด HTTP
คำแรกสุดในคำขอ HTTP คือชื่อเมธอด มีความคล้ายคลึงกับวิธีการโทรใน Java เมธอดในคำขอ HTTP กำหนดการดำเนินการพื้นฐานที่จะดำเนินการกับทรัพยากร
ทรัพยากรประเภทใด? สิ่งนี้คือในตอนเช้าของเวิลด์ไวด์เว็บเซิร์ฟเวอร์จัดเก็บไฟล์ HTML ตามลำดับคำขอสำหรับไฟล์ดังกล่าวและอธิบายการกระทำบางอย่างที่ต้องดำเนินการกับทรัพยากร / ไฟล์
มาตรฐาน HTTP ระบุวิธีการต่อไปนี้:
# | วิธี | คำอธิบาย |
---|---|---|
1 | รับ | ใช้เพื่อค้นหาเนื้อหาของทรัพยากรที่ระบุ |
2 | โพสต์ | ใช้เพื่อถ่ายโอนข้อมูลจากไคลเอนต์ไปยังเซิร์ฟเวอร์ เปลี่ยนสถานะของทรัพยากรบนเซิร์ฟเวอร์ |
3 | ใส่ | ใช้เพื่อถ่ายโอนข้อมูลจากไคลเอนต์ไปยังเซิร์ฟเวอร์ สร้างทรัพยากรใหม่บนเซิร์ฟเวอร์ |
4 | ลบ | ลบทรัพยากรที่ระบุบนเซิร์ฟเวอร์ |
5 | ศีรษะ | คล้ายกับ GET แต่ไม่มีเนื้อหาการตอบสนอง จำเป็นเพื่อรับส่วนหัวการตอบกลับ |
6 | ตัวเลือก | ร้องขอเซิร์ฟเวอร์สำหรับรายการวิธีการที่สนับสนุนสำหรับทรัพยากรที่ระบุ |
7 | ติดตาม | วิธีการให้บริการ ช่วยให้คุณทราบว่าคำขอมีการเปลี่ยนแปลงโดยเซิร์ฟเวอร์ที่ส่งคำขอหรือไม่ |
8 | เชื่อมต่อ | วิธีการให้บริการ ใช้เพื่อสร้างการเชื่อมต่อที่ปลอดภัย |
4.2 รับวิธีการ
เมธอด GETเป็นวิธี HTTP ที่ได้รับความนิยมสูงสุด นี่คือสิ่งที่เบราว์เซอร์เรียกเมื่อส่งคำขอไปยังเซิร์ฟเวอร์สำหรับหน้าถัดไป
ตัวอย่างเช่น หากคุณคลิกลิงก์http://codegym.cc/path/resource?param1=value1¶m2=value2 ในเบราว์เซอร์เบราว์เซอร์จะส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์ CodeGym ซึ่งจะขึ้นต้นด้วยบรรทัดเริ่มต้น นี้ :
GET /path/resource?param1=value1¶m2=value2 HTTP/1.1
ดังนั้น เซิร์ฟเวอร์จะต้องส่งการตอบกลับ HTTP ไปยังเบราว์เซอร์ ซึ่งจะเขียนสถานะของคำขอ และส่งทรัพยากรที่ร้องขอด้วย
จะถือว่า การเรียกใช้เมธอด GET หลายๆ ครั้งจะไม่เปลี่ยนสถานะ ของเซิร์ฟเวอร์ และเซิร์ฟเวอร์ต้องส่งคืนการตอบสนองเดียวกันทุกครั้ง ดังนั้นโปรโตคอลจึงมีการควบคุมที่ยุ่งยากในการแคชวัตถุ
ประการแรก ทรัพยากรที่ได้รับโดยใช้คำขอ GET เบรา ว์เซอร์สามารถแคชด้านข้างได้ตามที่เห็นสมควร (มีความแตกต่าง)
ประการที่สอง เมื่อส่ง คำขอไปยังเซิร์ฟเวอร์ คุณสามารถระบุส่วนหัวพิเศษIf-Modified-Since
และ date
หากทรัพยากร/เอกสารที่ขอมีการเปลี่ยนแปลงตั้งแต่วันที่ระบุ เซิร์ฟเวอร์จะส่งให้ หากไม่เปลี่ยนแปลง แสดงว่าเนื้อหาทรัพยากรไม่ผ่าน สันนิษฐานว่าแคชไว้บนไคลเอนต์
มีการใช้การแคชหน้า (คำขอ GET) ตลอดเวลา ดังนั้นฉันขอแนะนำให้คุณพิจารณาปัญหานี้
4.3 วิธี POST และ PUT
เมธอด POSTใช้เพื่ออัปเดตทรัพยากรบนเซิร์ฟเวอร์ ตัวอย่างเช่น เมื่อคุณอัปโหลดรูปภาพไปยังเซิร์ฟเวอร์ เบราว์เซอร์ของคุณจะส่งคำขอ POST
พิจารณาคำขอ HTTP ที่จะเริ่มต้นด้วยบรรทัดเริ่มต้นนี้:
POST /path/resource?param1=value1¶m2=value2 HTTP/1.1
headers…
<request body>
ด้วยเหตุนี้ เซิร์ฟเวอร์จะต้องส่งการตอบกลับ HTTP ไปยังเบราว์เซอร์ ซึ่งจะเขียนสถานะของคำขอและส่งทรัพยากรที่แก้ไขด้วย การเรียกใช้เมธอด POST หลายๆ ครั้งจะเปลี่ยนสถานะของเซิร์ฟเวอร์ และเซิร์ฟเวอร์อาจส่งคืนการตอบสนองที่แตกต่างกันในแต่ละครั้ง
GETและPOSTเป็นสองคำขอที่พบบ่อยที่สุดบนเว็บ เพื่อให้คุณจำวิธีการทำงานของเมธอดได้ง่ายขึ้น ให้พิจารณาตารางต่อไปนี้:
รับ | โพสต์ | ใส่ | |
---|---|---|---|
ขอ | URL เท่านั้น | URL และเนื้อหาคำขอ | URL และเนื้อหาคำขอ |
คำตอบ | รหัส การตอบสนองและเนื้อหา | รหัส การตอบสนองและเนื้อหา | รหัสตอบกลับ |
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับคำขอ POST ได้ที่ลิงค์
4.4 วิธีการลบ
และสุดท้าย ข้อมูลเกี่ยวกับวิธีDELETE ทุกอย่างเรียบง่ายที่นี่
ตัวอย่างเช่น เราต้องการลบทรัพยากรบางอย่างบนเซิร์ฟเวอร์ เราส่งคำขอให้เขาเช่น:
DELETE /path/resource?param1=value1¶m2=value2 HTTP/1.1
เมื่อได้รับคำขอนี้ เซิร์ฟเวอร์จะลบทรัพยากรที่ระบุ เว้นแต่คุณจะมีสิทธิ์ลบทิ้ง