หลักสูตรความผิดพลาด 101
10 โมดูล
5 สัปดาห์ที่ผ่านมา

การตอบสนองของเซิร์ฟเวอร์และประเภทข้อมูล

คลิกเพื่อคัดลอก

ส่วนประกอบการตอบสนอง รหัสสถานะ ชนิดข้อมูลพื้นฐาน


การตอบสนองที่มาจากเซิร์ฟเวอร์ทำงานเกือบจะเป็นไปตามรูปแบบเดียวกับคำขอ ด้วยเหตุผลที่ชัดเจน ไม่มีพารามิเตอร์คำขอ แต่ส่วนหัวและเนื้อหาจะรวมอยู่ในการตอบสนอง (แม้ว่าอาจว่างเปล่าก็ตาม)

ความแตกต่างที่สำคัญคือสถานะของการตอบกลับ

รหัสสถานะ

รหัสสถานะ มาในบรรทัดแรกของการตอบกลับของเซิร์ฟเวอร์ สถานะคือตัวเลขสามหลัก (รหัสเอง) ตามด้วยวลีที่อธิบาย

ด้วยรหัสสถานะคุณสามารถค้นหาผลลัพธ์ของคำขอและเข้าใจว่าควรดำเนินการใดต่อไป

รหัสสถานะที่เป็นไปได้ทั้งหมดแบ่งออกเป็น 5 คลาส ตัวเลขตัวแรกของรหัสระบุว่าเป็นของคลาสใดคลาสหนึ่ง มาทำลายมันกันเถอะ

1xx — รหัสข้อมูล รายงานความคืบหน้าของคำขอ ในทางปฏิบัติจริงไม่ค่อยได้ใช้

2xx — รหัสความสำเร็จ พวกเขารายงานว่าทุกอย่างเป็นไปตามลำดับและคำขอก็เสร็จสมบูรณ์ ในการตอบกลับคำขอ GET เรามักจะคาดหวังว่าจะได้รับรหัส 200 (ตกลง) คำขอ PUT ที่สำเร็จจะส่งรหัส 201 (สร้างแล้ว)

3xx — การเปลี่ยนเส้นทาง ระบุว่าควรส่งคำขอไปยังที่อยู่อื่น ตัวอย่างคือรหัส 301 (ย้ายอย่างถาวร) ซึ่งบ่งชี้ว่าข้อมูลที่จำเป็นอยู่ในที่อยู่ใหม่แล้ว (ที่อยู่ใหม่จะถูกส่งผ่านในส่วนหัวของตำแหน่งที่ตั้ง)

4xx — รหัสข้อผิดพลาดของไคลเอนต์ ที่มีชื่อเสียงที่สุด - 404 (ไม่พบ) รายงานว่าไม่มีข้อมูลที่จำเป็นในที่อยู่ที่ระบุ กรณีทั่วไปอื่นๆ: 400 (คำขอไม่ถูกต้อง ข้อผิดพลาดทางไวยากรณ์ในคำขอ) 401 (ไม่ได้รับอนุญาต จำเป็นต้องตรวจสอบความถูกต้องสำหรับการเข้าถึง) 403 (ถูกห้าม การเข้าถึงถูกปฏิเสธ)

5xx — รหัสข้อผิดพลาดของเซิร์ฟเวอร์ รายงานข้อผิดพลาดทางฝั่งเซิร์ฟเวอร์ ตัวอย่างเช่น: 500 (Internal Server Error, ข้อผิดพลาดที่ไม่สามารถเข้าใจได้ซึ่งไม่สามารถระบุได้ว่ามาจากรหัสที่รู้จัก), 503 (Service Unavailable, เซิร์ฟเวอร์ไม่สามารถดำเนินการตามคำขอได้ชั่วคราวด้วยเหตุผลทางเทคนิค)

ประเภทข้อมูล

ณ จุดนี้ เราสามารถสรุปได้ว่าเราได้จัดการกับข้อมูลพื้นฐานสำหรับการทำความเข้าใจ REST API และโครงสร้างของคำขอและการตอบกลับ HTTP มันยังคงชี้แจงเพียงจุดเดียว - ประเภทข้อมูล หากคุณได้ลองสร้างคำขอ API ของคุณใน AppMaster แล้ว คุณอาจสังเกตเห็นว่าข้อมูลทั้งหมด (ในพารามิเตอร์ ในส่วนหัว ในเนื้อหา) ขอให้คุณระบุไม่เพียงแค่ชื่อเท่านั้น แต่ยังรวมถึงประเภทข้อมูลด้วย

Data types
มักจะค่อนข้างชัดเจนสำหรับมนุษย์ถึงวิธีการทำงานกับข้อมูล เนื่องจากมีบริบทบางอย่าง สมมติว่าเรารู้ว่า 2 + 2 = 4 เราเดาว่านี่คือตัวเลขและผลลัพธ์ของการบวกจะเป็นตัวเลขอื่น

แต่อาจไม่ใช่ตัวเลข แต่เป็นข้อมูลที่เป็นข้อความ จากนั้นผลลัพธ์ของการบวกอาจเป็นการเชื่อมสตริงเข้าด้วยกัน และ 2 + 2 จะเปลี่ยนเป็น "22" ที่นี่เพื่อให้คอมพิวเตอร์ไม่ต้องคิดอะไรมีการระบุประเภทข้อมูลที่แน่นอน และในขณะเดียวกัน งานอื่นๆ ก็กำลังถูกแก้ไข ตัวอย่างเช่น มีการป้องกันการป้อนข้อมูลที่ไม่ถูกต้อง ในขั้นต้นไม่มีโอกาสที่จะลงทะเบียนที่อยู่อีเมลในฟิลด์ที่มีไว้สำหรับป้อนหมายเลขโทรศัพท์

มีประเภทข้อมูลที่แตกต่างกันค่อนข้างมาก ตอนนี้เราจะพิจารณาประเภทพื้นฐานที่สุด และในโมดูลเพิ่มเติมของหลักสูตร เราจะทำความคุ้นเคยกับส่วนที่เหลือ

สตริง — ชนิดข้อมูลสตริง ข้อความธรรมดาที่ไม่มีรูปแบบพิเศษ

จำนวนเต็ม — ชนิดข้อมูลจำนวนเต็ม สามารถใช้สำหรับเคาน์เตอร์หรือการคำนวณที่ไม่ต้องการเลขเศษส่วน

Float — จำนวนจุดลอยตัว ใช้เมื่อต้องการความแม่นยำที่เพิ่มขึ้นและค่าจำนวนเต็มไม่เพียงพอ

คำถามเชิงตรรกะอาจเกิดขึ้นที่นี่ แล้วทำไมไม่ใช้ Float ตลอด แล้วทำไมเราถึงต้องการจำนวนเต็มล่ะ? แต่ความแม่นยำที่มากขึ้นต้องใช้ทรัพยากรมากขึ้น สำหรับการคำนวณเล็กๆ น้อยๆ สิ่งนี้อาจมองไม่เห็นโดยสิ้นเชิง แต่ในกรณีของข้อมูลจำนวนมาก การใช้ประเภทข้อมูลที่เหมาะสมสามารถลดความต้องการพลังงานในการคำนวณและพื้นที่ดิสก์ได้อย่างมาก

บูลีน — ชนิดข้อมูลบูลีน ชนิดข้อมูลที่ง่ายที่สุด ใช้ค่าใดค่าหนึ่งจากสองค่า ซึ่งเขียนเป็น True หรือ False คุณมักจะเห็นการกำหนดในรูปแบบ 1 (จริง) และ 0 (เท็จ)

Was this article helpful?
ยังคงมองหาคำตอบ?