รู้จักกับ Web Technology

เทคโนโลยีเว็บ = เทคนิคที่ใช้คอมพิวเตอร์แลกเปลี่ยนข้อมูลกัน โดยใช้ภาษา Markup และสื่อมัลติมีเดีย ทำงานบนพื้นฐานของ WWW และอินเทอร์เน็ต

เว็บเทคโนโลยีคืออะไร

ที่มาของ WWW

ปีเหตุการณ์
มีนาคม 1989Tim Berners-Lee เสนอเอกสาร Information Management: A Proposal ที่ CERN
ตุลาคม 1990ระบุเทคโนโลยีรากฐานของเว็บ: HTML, URI/URL, HTTP
ปัญหาต้นเรื่องที่ CERN: การสูญหายของข้อมูล (Information Loss) และข้อจำกัดของโครงสร้างเดิมที่เป็นลำดับชั้น (hierarchical) อย่างเดียว

3 เทคโนโลยีรากฐาน

เทคโนโลยีย่อมาจากทำหน้าที่
HTMLHyperText Markup Languageภาษา markup กำหนดโครงสร้างหน้าเว็บ
URIUniform Resource Identifierตัวระบุทรัพยากรแบบไม่ซ้ำกัน บอกว่าทรัพยากรคืออะไร/อยู่ที่ไหน
HTTPHyperText Transfer Protocolข้อกำหนดการส่งข้อมูลบนเว็บ ใช้รูปแบบ Request-Response

URI vs URL — ข้อสอบชอบถาม

URIURL
ความหมายแนวคิดที่กว้างกว่า ใช้ระบุ (identify) ทรัพยากรใด ๆบอกที่อยู่ (locate) ของทรัพยากรบนอินเทอร์เน็ต
ต้องอยู่บนเว็บไหมไม่จำเป็น — ไฟล์ในเครื่องก็เป็น URI ได้ปกติชี้ที่อยู่บนเครือข่าย
ตัวอย่างfile:///myfileplace/path/file.docxhttps://cmu.ac.th/index.html
https:// camt.cmu.ac.th :443 /course/web ?id=1 scheme — รูปแบบการร้องขอ authority — ผู้ให้อนุญาตเข้าถึง resource (host + port) path — ตำแหน่ง resource query string — พารามิเตอร์เพิ่มเติม

ทุก URL เป็น URI แต่ไม่ใช่ทุก URI ที่เป็น URL

วิวัฒนาการ Web 1.0 / 2.0 / 3.0

ยุคลักษณะผู้ใช้ทำอะไร
Web 1.0เว็บอ่านอย่างเดียว (read-only) เนื้อหาคงที่อ่านอย่างเดียว
Web 2.0เว็บโต้ตอบได้ มี social media, user-generated contentอ่านและเขียน
Web 3.0เว็บเชิงความหมาย (semantic) ข้อมูลเชื่อมโยงกัน กระจายศูนย์อ่าน เขียน และเป็นเจ้าของข้อมูล

Client-Server Model

Client เบราว์เซอร์ / แอปมือถือ Server ให้บริการข้อมูล/ไฟล์ Request (HTTP/HTTPS) Response (HTML / JSON) Client เป็นผู้ขอ · Server เป็นผู้ให้ · สื่อสารเป็นรอบ request-response

ทุกอย่างในเว็บวางอยู่บนวงจรนี้ ตั้งแต่ขอหน้า HTML ไปจนถึงเรียก API

Front-end vs Back-end

Front-end (Client-side)Back-end (Server-side)
ทำงานที่ไหนเบราว์เซอร์ของผู้ใช้เครื่อง server
เทคโนโลยีHTML, CSS, JavaScript, ReactNodeJS, Express, PHP, Java, Python
หน้าที่แสดงผลและโต้ตอบกับผู้ใช้ประมวลผล logic, จัดการฐานข้อมูล, ให้บริการ API
ผู้ใช้เห็นโค้ดไหมเห็นทั้งหมด (View Source / F12)ไม่เห็น เห็นแค่ผลลัพธ์ที่ส่งกลับ
SSR (Server-Side Rendering): สมัยก่อน server สร้างไฟล์ HTML แบบ dynamic แล้วส่งกลับทั้งหน้า เช่น PHP, JSP ปัจจุบันนิยมให้ server ส่งเฉพาะ ข้อมูล JSON ผ่าน API แล้วให้ front-end วาดหน้าเอง

การแลกเปลี่ยนข้อมูลผ่าน API

API (Application Programming Interface) = กลไกที่ให้ซอฟต์แวร์สองส่วนสื่อสารกันโดยใช้ชุดคำจำกัดความและโปรโตคอล

Client  --- request (x=1, y=2) --->  Server
                                     API service: นำ x + y
Client  <--- response (3) ----------  Server

เทคโนโลยีการเผยแพร่เว็บ