Mark Nottingham วิศวกร Cloudflare ที่ทำงานด้านมาตรฐานโปรโตคอล HTTP เล่าถึงความเปลี่ยนแปลงของ HTTP ในช่วงปีที่ผ่านมา ว่าประเด็นใหญ่ที่สุดคือ การออกมาตรฐาน HTTP/3 แต่ปีหน้า HTTP Working Group ก็ยังทำมาตรฐานใหม่ๆ อีกหลายตัว ที่น่าจะมีความคืบหน้าหรือออกเป็นมาตรฐานได้ในปี 2023 มาตรฐานที่ถูกพูดถึง เช่น
- มาตรฐาน Cookie ฉบับใหม่ : ปรับปรุงการทำงาน กำหนดค่าความปลอดภัย Cookie แยกรายตัว
- Variant : มาตรฐานใหม่เพื่อให้เซิร์ฟเวอร์เลือกตอบจากแคชได้ละเอียดขึ้น ปรับปรุงจากฟิลด์ Vary ใน HTTP เดิม
- HTTP QUERY: วิธีการเรียกเซิร์ฟเวอร์แบบใหม่ ที่ทำงานเหมือน GET แต่สามารถใส่คิวรีเข้าไปใน body ได้ ทำให้การเรียก API ต่างๆ (โดยเฉพาะกลุ่มฐานข้อมูล) ไม่ต้องใช้ argument ยาวๆ เหมือนเดิม
- Resumable Upload : มาตรฐานเปิดทางให้ไคลเอนต์ส่งไฟล์ต่อไปได้ ในกรณีที่การเชื่อมต่อถูกตัดก่อนอัพโหลดสำเร็จ
Nottingham ระบุว่ามาตรฐาน HTTP ยังคงเป็นมาตรฐานที่มีพัฒนาการต่อไป และถูกใช้งานในแนวทางใหม่ๆ มากขึ้นเรื่อยๆ และยังใช้ทำงานร่วมกับระบบ World Wide Web ที่สร้างขึ้นมาตั้งแต่ปี 1989 ได้
ที่มา - Cloudflare Blog
Comments
โปรโจตอล HTTP > โปรโตคอล HTTP
ผ่านมามา ?
สวัสดีปีใหม่ครับคุณ panurat2000 ไม่ได้เห็นคอมเม้นใน blognone มานานเลยครับ
บล็อก: wannaphong.com และ Python 3
^^
สวัสดีปีใหม่ครับ
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
สวัสดีปีใหม่ครับ แอบคิดถึงอยู่นะครับ ไม่ค่อยเห็นตรวจคำผิดนานเลย
สวัสดีปีใหม่ครับ คิดถึงนะครับ
HTTP QUERY นี่ก็เหมือนๆ Elasticsearch มั้ยนั่น
เป็น http method แยกต่างหาก (ออกมาจาก GET อีกที) มีสเปกพฤติกรรมที่ต่างจาก GET เล็กน้อย (ใส่ body ได้) ออกแบบมาเพื่อให้ HTTP server กรองประเภท request ได้ดียิ่งขึ้นโดยเฉพาะอย่างยิ่งกับฐานข้อมูล
ผมเขียนฐานข้อมูลเล็ก ๆ ใช้เอง ตอนนี้ที่ทำอยู่คือต้องอัด query เข้า Header เพราะสเปกของ GET มันไม่ควรใส่ body
สรุปคือ Elasticsearch ทำผิดมาตรฐาน
ตาม guide ของ Elasticsearch ระบุเหตุผลไว้นะ ว่าการใช้ GET แล้วมี message body เพราะมันบ่งบอกในการ retrieve data ออกมาตาม meaning ของ RESTful concept ซึ่งการมี method QUERY ใหม่มาก็มาปิดจุดตรงนี้แหละ
แต่ตัว Elasticsearch ใน RESTful API มันก็รองรับ POST เหมือนกัน แต่มุมคนทำ API ของ Elasticsearch เค้ามองว่ามันคือการ create ไม่ใช่การ retrieve data
น่าจะเกี่ยวกับเรื่อง REST API+JSON ครับ (เดา)
ปกติเวลา search data ใน มันยังคลุมเครือว่าจะใช้ GET หรือ POST ดี
GET ก็ใช้ retrieve record(s) ไปแล้ว
POST ก็ใช้ create record
แล้ว search ล่ะ ใช้ GET ดู ok ที่สุด แต่เดี๋ยวนี้อะไรๆ ก็ JSON (database จะไม่ normalize กันแล้ว มักง่ายเก็บเป็น JSON ลง field ไปเลย) จะให้ส่ง search term เป็น JSON ใน query string ก็ดูแล้วไม่เหมาะเท่าไร
หลายคนก็เลยชอบแหก RESTful format ไปใช้ POST search แทน
พูดถึง method มีตัวหนึ่งที่ควรเอาไปเผาทิ้ง คือ PUT ไม่รู้จะเอามาทำไม แถมเป็นคำสั่งอันตรายด้วย