วันเสาร์ที่ 20 มิถุนายน พ.ศ. 2558

Servlet part 2

status code พื้นฐานที่ควรทราบ

>> เอาล่ะครับ หนก่อนกล่าวถึง HTTP หรือเส้นทางพูดคุยระหว่าง client กับ server เรารู้แล้วว่า client ติดต่อ server เรียกว่า request และ server ติดต่อ client เรียกว่า response แลก่อนจะเข้าเรื่อง servlet เราควรทำความเข้าใจรายละเอียดของสองสิ่งนี้สักเล็กน้อย

>> request มีอยู่ 7 ประเภท
1) GET สำหรับร้องขอ resource (เว็บเพจ, รูปภาพ เป็นต้น)
2) HEAD เหมือน GET เลย แต่มีมาให้เฉพาะส่วนหัวของไฟล์ เรียกว่า header ที่ส่งกลับมา
3) PUT สำหรับ upload ไฟล์ไปเก็บไว้ที่ server
4) POST เหมือน GET แต่จะหนีบเอาคู่ key-value จาก form ไปด้วย และไม่แสดงรายละเอียดของ URL บน address bar
5) DELETE สำหรับลบไฟล์ออกจากปลายทางที่ระบุ
6) OPTIONS สำหรับร้องขอประเภทของ request จาก server ว่าสนับสนุน request ประเภทไหนบ้าง
และ 7) TRACE สำหรับดึงค่า request ที่เราได้ส่งไปยัง server กลับมา (โอ้สุดยอดมาก)

>> พูดคำว่า URL ก็เยอะ แล้วมันคืออะไร? URL ย่อมาจาก Uniform Resource Locator หรือ Universal Resource Locator ใช้สำหรับระบุแหล่งที่อยู่ของทรัพยากร (resource) ที่ต้องการ ประกอบไปด้วย
1) ชื่อโปรโตคอลที่ใช้ เช่น http หรือ https เป็นต้น
2) ชื่อเครื่องคอมพิวเตอร์และเครือข่ายย่อย แท้จริงคือชุดตัวเลขที่มีจุดคั่น และมักถูกผูกเป็นชื่อเพื่อให้เรียกง่ายขึ้น เช่น www.facebook
3) ประเภทของเวบไซต์ บ้างก็เรียกว่าสกุลของเว็บที่จดทะเบียน เช่น .com .co.th หรือ .net เป็นต้น (เมื่อนำข้อสองและสามมารวมกันจะเรียกว่า ชื่อโดเมน)
5) ไดเร็กทอรี่ ง่ายๆคือชั้นของ folder ที่ซ้อนกันเป็นชั้นๆ คั่นด้วยเครื่องหมาย /
6) ชื่อไฟล์และนามสกุล หรือก็คือตัว resource ที่เราต้องการ เช่น my_image.png หรือ index.html เป็นต้น

>> แล้ว URI ล่ะ? มันย่อมาจาก Uniform Resource Identifier พี่เขาใช้คำว่า พ่อของทุกสถาบัน หมายถึง การระบุไปยังปลายทางถึงระดับ identifier ซึ่งละเอียดกว่า URL ทว่าในทางปฏิบัติต่อเรื่องนี้ URL ก็เพียงพอแล้วครับ

>> สุดท้ายคือ response ประกอบด้วยสามส่วนใหญ่ๆ
1) ผลลัพธ์จากการพยายามประมวลผล request ที่ร้องขอเข้ามา ได้แก่
- version เช่น HTTP/1.1
- status code เช่น 200
- description เช่น OK ค่ะ
2) response header รายละเอียดคล้ายกับ request header (HEAD)
3) response body เป็นรายละเอียดของสิ่งที่ต้องส่งกลับไปยัง client เช่นหน้าเพจที่บอกว่า คุณสมัครสมาชิกเรียบร้อยแล้ว คุณจ่ายเงินเรียบร้อยแล้ว หรือ สวัสดีฉันชื่อ server นะจ๊ะไรงี้

>> อ้อ สุดท้ายของสุดท้ายของ part นี้ เมินเฉยไม่ได้กับ status code สถานะต่างๆ เช่น
- 1XX แสดงข้อมูลต่างๆ
- 2XX บอกว่าคำร้องสำเร็จ เย้!
- 3XX บอกว่า redirect (การส่งต่อ) ไปยัง URL อื่น (เหมือนบางเว็บที่ท่านๆชอบกัน จะ redirect อย่าหนักหน่วง เพื่อหนีกระทรวงที่เคยเป็นข่าวแปะลิงค์โป๊)
- 4XX เกิด error จ้า แต่เป็น error จาก client (ทำนองว่าโดน server ด่า)
- 5XX เกิด error จ้า แต่เป็น error จาก server (ได้ทีเราด่ากลับม่าง)

>> ที่เจอบ่อยๆขณะเพิ่งหัดเขียนเว็บก็คือ 404 Not Found หาไฟล์ไม่พบ เป็นความผิดของเราที่แจ้ง resource ที่ต้องการผิดพลาด และ 500 Internal Server Error คือมีปัญหาอะไรสักอย่างที่ server เช่น package pl/sql พังทลาย (เยเย้ ไม่ต้องทำงาน) เป็นต้น ส่วนถ้าเจอ 503 Service Unavailable นี่ให้ใจเย็นๆครับ เดี๋ยวเว็บเกมออนไลน์นั่นก็กลับมาใช้ได้

>> คืนนี้ดึกแล้ว พักผ่อนรอ part ต่อไป (เมื่อไรจะได้เขียนแว้) ขออนุญาตไปทักทายยอดดวงใจก่อน สวัสดีครับผม

1 ความคิดเห็น: