ซื้อขายบ้านมือสอง

วันอังคารที่ 9 ตุลาคม พ.ศ. 2550

หลักการทำงานของ Web Technology



หลักการทำงานของ Web Technology



Web Technology คือบริการหนึ่งในรูปแบบต่างๆของการให้บริการของอินเตอร์เนต สำหรับ ผู้พัฒนาเว็บ หรือผู้ที่ต้องการเขียนโปรแกรมเพื่อติดต่อสือสาร ผ่านเว็บ หรือ อินเตอร์เนต แล้ว จะต้องรู้ และเข้าใจเรื่อง เกี่ยวกับ โปรโตคอล (Protocal)


โปรโตคอล เป็นเพียงข้อตกลงกันระหว่าง 2 ฝ่ายที่ให้เครื่องคอมพิวเตอร์ สามารถสื่อสารกันได้อย่างถูกต้อง และราบรื่นมากที่สุด และการใช้บริการเว็บนี้ เราจะทำงานภายใต้ โปรโตคอล HTTP ซึ่ง โปรโตคอลนี้ จะเป็นตัวกำหนดวิธีการส่งข้อมูลหรือไฟล์ ระหว่างเครื่องคอมพิวเตอร์ที่เป็น Client และ Server รวมถึงการกำหนด กฏระเบียบในการติดต่อด้วย เราจะใช้โปรแกรมประภท Browser เป็นตัวช่วยในการติดต่อสื่อสารได้ง่ายขึ้น





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


จากภาพด้านบน เป็นการแสดงให้ดูถึง การติดต่อกันระหว่าง Client ไปยัง Server โดยผ่านโปรโตคอล HTTP เช่นการเปิด Web page ผ่านโปรแกรม Browser จะมีขั้นตอนดังนี้


1. ขั้นแรก Client (ในตอนนี้คือ เว็บ Browser) จะทำการเชื่อมต่อ กับ Server ผ่าน Socket


2. ขึ้นต่อมา เมื่อ Socket ทั้งสองฝั่งเชื่อมต่อกันได้สำเร็จแล้ว Client จะส่งคำร้องขอข้อมูล ไปยังเว็บเซิร์ฟเวอร์ จากนั้นเว็บเซิร์ฟเวอร์ จะไปหาข้อมูลที่ Client ต้องการ ไม่ว่าจะมีหรือไม่มีข้อมูลที่ client ร้องขอ server ก็จะต้องส่งข้อมูลตอบสนอง กลับให้ Client เสมอ


3. เมื่อการร้องขอข้อมูลได้รับการ ตอบกลับเรียบร้อยแล้ว ก็จะตัดการเชื่อมต่อของ Socket ทั้งสองฝั่ง


จากที่ได้อธิบายการทำงานของโปรโตคอล HTTP ไปแล้ว เราจะเห็นได้ว่าโปรโตคอบแบบนี้จะมีการเชื่อต่อในระยะเวลาสั้นๆ ซึ่ง ทำให้บริการ www สามารถรองรับ Client ได้จำนวนมากๆ พร้อมๆกัน เพราะไม่มี Client ที่ทำการเชื่อมต่ออย่างถาวร


ในการเรียกหน้า web page หนึ่งหน้านั้น อาจจะมีติดต่อกับ Server หลายครั้ง เนื่องจาก เมื่อ Client ร้องขอ ข้อมูลจาก Server ได้รับ ไฟล์ html กลับมาแล้ว Browser จะทำการแปล ภาษา HTML ออกมาและหากหน้า web page นั้นมีการเรียกไฟล์ อื่น หรือเรียกรูปภาพ Web Browser ก็จะทำการ Connect ไปยัง Server เพื่อขอ ไฟล์รูปภาพนั้น และ เมื่อได้ไฟล์เรียบร้อยแล้ว ก็จะ ทำการตัด Connect อีก จะเป็นอย่างนี้ไปเรื่อยๆ จนกว่าจะได้ ข้อมูลครบถ้วน


ยกตัวอย่าง สถานะการณ์ต่อไปนี้ว่าจะเกิดอะไรขึ้น หากสมมุติว่าไฟล์ homepage ของเว็บ http://www.signprosoft.com/ มีหน้า Index.html และมีเนื้อหาในไฟล์ดังนี้






<html>


<head>


<title>Web Professional</title>


</head>
<body>
<img src=”intro.jpg”>
</body>


</html>




ขั้นแรก เมื่อเราสั่งให้ Browser ติดต่อไปยัง เว็บ http://www.signprosoft.com/ เว็บ Browser จะค้นหา Server ที่เก็บ เว็บ http://www.signprosoft.com/ ให้ได้เสียก่อน เพื่อทำการเชื่อมต่อ


ขั้นต่อมา เมื่อเชื่อมต่อได้แล้ว Browser จะส่งข้อความร้องขอไปยัง Server เพื่อขอไฟล์หน้า web page ที่ต้องการ แต่หากไม่มีการระบุชื่อไฟล์ เว็บ server จะไปดึงไฟล์ Default ออกมา ซึ่งก็คือไฟล์ Index กลับมาให้เอง


ซึ่งการร้องขอจาก Client และ การตอบสนองจาก Server ในแต่ละครั้ง ย่อมต้องมีการรับส่งข้อมูลกัน แต่ข้อมูลที่รับส่งนั้นไม่ได้มีแต่ เพียงข้อมูลอย่างเดียว แต่ละฝ่ายจะต้อง เพิ่ม ส่วนทีเรียกว่า Header ของ โปรโตคอล HTTP เข้าไปด้วย เรียกว่า (HTTP Header) เข้าไปในส่วนหัวของข้อมูลด้วย





Client Request ข้อความร้องขอที่ถูกส่งไปยัง Server ในส่วนของ Header จะมีหน้าต่าดังนี้
















GET /index.html HTTP/1.1


บรรทัดบอกการร้องขอ


Host: www.signprosoft.com
User-agent: Mozilla/4.0
Accept: image/gift,image/jpeg,*/*
Accept-Language:en
Accept-Charset:iso-8859-1,*,utf-8
Cache-Control: max-age=259200


บรรทัดบอก header



บรรทัดว่าง


data


บล๊อกข้อมูล










Server Response การตอบสนองจากการร้องขอ ของ Client จะมีหน้าตาดังนี้
















HTTP/1.1 200 OK


บรรทัดบอกการร้องขอ


Date: Sat, 24 Jun 2006 02:03:45 GMT
Content-Type: text/html
Content-Length: 6800


บรรทัดบอก header



บรรทัดว่าง


<html>


<head><title>Web Professional</title></head>
<body>
<img src=”intro.jpg”>
</body>


</html>


บล๊อกข้อมูล



เมื่อ Client ได้รับ ข้อมูลจาก Server แล้ว ก็จะทำการ ตัด Connection ทันที และทำการประมวลผล ข้อมูล ออกสู่หน้าจอให้ผู้ใช้เห็น แต่เมื่อ แปลมาถึงบรรทัดที่มีการอ้างอิงรูปภาพ


<img src=”intro.jpg”> เว็บ Browser ก็จะทำตามขั้นตอน ของการติดต่อสื่อสารอีกที เพื่อร้องขอ ไฟล์รูปภาพ intro.jpg นั้น ไปเรื่อยๆ จนกว่าจะ แปลคำสั่งของหน้า index.html หมด



วิธีการร้องขอมีให้ใช้หลายวิธี แต่ก็ขึ้นอยู่กับเวอร์ชั่นของ โปรโตคอล ที่ใช้ ซึ่ง Browser เวอร์ชั่นใหม่จะ สนับสนุน โปรโตคอล ใหม่ๆ อยู่แล้ว หากต้องการรู้รายละเอียด ของ โปรโตคอล หรือ ข่าวของการกำหนด โปรโตคอลใหม่ๆ ให้ติดตามได้ที่เว็บ http://www.w3.org/



















คำศัพท์ที่ควรรู้เกี่ยวกับเว็บ



ก่อนที่จะเข้าสู่เนื้อหา ควรจะเข้าใจคำศัพท์ต่อไปนี้ซะก่อนซึ่ง เนื้อหาต่อไปจะได้เข้าใจร่วมกัน



1. เว็บเพจ (Web Page) คือ หน้าที่เราเห็นเมื่อใช้โปรแกรมเว็บบราวเซอร์เปิดเว็บไซต์ขึ้นมา หรือจะเรียกเว็บเพจได้ว่า ไฟล์ 1 ไฟล์ ที่มีนามสกุล *.html , *.php , *.asp , *.aspx , *.jsp และอื่นๆ พวกนี้คือ เว็บเพจ นั่นเอง


2. เว็บไซต์ (Web Site) ประกอบด้วย เว็บเพจ หลายๆหน้า รวมกันเป็นเว็บไซต์ เช่น http://www.signprosoft.com/ จะมี เว็บเพจด้วยกันหลายหน้า


3. โฮมเพจ (Home Page) คือเว็บหน้าแรกของ เว็บไซต์ หรือจะกล่าวได้ว่าเป็นหน้า ปกของหนังสือนั่นเอง


4. เว็บเซิร์ฟเวอร์ (Web Server) ทำหน้าที่เก็บเว็บไซต์ และให้บริการเกี่ยวกับเว็บตามที่เว็บบราวเซอร์ร้องขอข้อมูล


5. เว็บบราวเซอร์ (Web Browser) คือ โปรแกรมที่ใช้เปิด เว็บเพจ มีหน้าที่ติดต่อกับ เว็บเซิร์ฟเวอร์ เพื่อขอข้อมูลที่ต้องการมาแสดงที่หน้าจอของโปรแกรม เช่น Internet Explorer , Opera


6. URL (Uniform Resource Locator) คือ ชื่อหรือพาธ ที่ใช้อ้างถึงไฟล์ในอินเตอร์เนต


7. โดเมนเนม (Domain name) เป็นชื่อเฉพาะของ เว็บไซต์ ที่ทำหน้าที่แปลงเป็น Ip Address เพื่อชี้ไปยัง Server ที่เก็บ เว็บไซต์


8. ftp (file transfer protocol) : คือโปรโตคอลหนึ่ง ที่ใช้ในบริการ www ซึ่งใช้สำหรับ รับส่ง ข้อมูลไฟล์ ระหว่าง Client และ Server




















ภาษาที่ทำงานฝั่ง client



เว็บเพจที่ เห็นกันอยู่ทั่วไปในโลกอินเตอร์เนตนั้น แบ่งออกเป็น 3 ประเภทด้วยกันคือ


1. Static page เว็บเพจแบบนิ่งๆ ซึ่ง จะใช้ HTML ในการสร้างขึ้นมา ไม่สามารถโต้ตอบกับผู้ใช้งานได้ เป็นภาษาที่แปลจากฝั่ง Client


2. ต่อมาได้มีการใช้ javascript หรือ vbscript เพื่อช่วยให้เว็บเพจมีลูกเล่นสามารถโต้ตอบกับผู้ใช้งานได้ ซึ่งเป็นภาษาสคริปที่แปลจากฝั่ง Client


3. Dynamic page เป็นเว็บเพจที่สามารถโต้ตอบกับผู้ใช้งาน และติดต่อกับ พวกฐานข้อมูลหรือ Object อื่นๆได้ เป็นภาษาที่ประมวลผลจากฝั่ง Server เช่นพวก asp , php, asp.net

ไม่มีความคิดเห็น: