Web Server Log คืออะไร อ่านยังไง หมายความว่าอะไร มาหาคำตอบกัน

web server log คืออะไร วิธีอ่าน

หากใครได้เข้าไปลองดู Web Server Log ก็จะพบข้อมูลที่ขึ้นมายาวเหยียด ใบบทความนี้ ThaiSharp จะมามาแกะกันในแต่ละส่วนของข้อมูลที่ขึ้นใน Server Log และมาอธิบายกันว่าคืออะไร แต่ละส่วนหมายความว่าอะไร สำคัญอย่างไร

Web Server Log คืออะไร

Web Server Log คือ รายการข้อมูลที่ถูกบันทึกโดยเซิร์ฟเวอร์เว็บทุกครั้งที่มีการทำร้องขอ (Request) มายังเซิร์ฟเวอร์นั้น ๆ ข้อมูลในบันทึกนี้ประกอบด้วยข้อมูลต่าง ๆ เช่น ที่ IP Address วันและเวลาที่เกิดการร้องขอ วิธีการร้องขอ (HTTP Method) และ URL ของแหล่งที่มา (Referrer) รวมถึงข้อมูลส่วนหนึ่งของเบราว์เซอร์หรือโปรแกรมบอทที่ทำการร้องขอ (User-Agent) เป็นต้น

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

ตัวอย่าง Web Server Log

ไฟล์ Server Log ที่ดึงออกมาจาก Server จะชื่อ access_ssl_log.txt โดยสามารถเปิดผ่าน Text Editor อย่าง Sublime ได้เลย

ข้อมูลที่ขึ้นมาจะมีหน้าตาประมาณนี้

29.145.222.212 - - [27/Jul/2023:07:02:04 +0700] "GET /blog/sample-page HTTP/1.0" 503 1362 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0"
  1. IP Address: 29.145.222.212 – เป็นที่อยู่ IP ของเครื่องลูกข่าย หรือ Client (ในที่นี้คือโปรแกรมบอทของ Yandex ซึ่งเป็นเครื่องมือในการทำการค้นหาของเว็บไซต์ Yandex) ที่ทำการร้องขอเข้ามายังเซิร์ฟเวอร์
  2. Date and Time: [27/Jul/2023:07:02:04 +0700] – แสดงวันที่และเวลาที่เกิดการร้องขอ รูปแบบเป็น วัน/เดือน/ปี:ชั่วโมง:นาที:วินาที เวลาโซนเวลาเป็นประเทศไทย
  3. HTTP Method and URL: “GET /blog/sample-page HTTP/1.0” – แสดงว่าเครื่อง Client ได้ทำการร้องขอแบบ GET มายังเซิร์ฟเวอร์ โดยขอข้อมูลที่อยู่ใน URL path “/blog/sample-page” ใช้โปรโตคอล HTTP/1.0
  4. HTTP Status Code: 503 – เป็นรหัสสถานะ HTTP ที่เซิร์ฟเวอร์ตอบกลับมา ในตัวอย่างนี้คือ “503” หมายความว่า “Service Unavailable” คือเซิร์ฟเวอร์ไม่สามารถทำการร้องขอนั้นได้ในขณะนั้น
  5. Bytes Sent: 1362 – แสดงจำนวนข้อมูลที่ส่งกลับไปให้เครื่อง Client
  6. Referrer: “-” – Field นี้จะประกอบด้วย URL ของเพจที่มายังที่นี่ แต่ในที่นี้ถูกแทนที่ด้วยเครื่องหมายขีด (“-“) หมายความว่าเครื่องลูกข่ายได้ทำการเข้าถึงแหล่งที่มาโดยตรง
  7. User-Agent: “Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0″ – User-Agent เป็นส่วนที่ให้ข้อมูลเกี่ยวกับเบราว์เซอร์หรือโปรแกรมบอทของเครื่องลูกข่าย ในที่นี้ระบุว่าร้องขอมาจากโปรแกรมบอทชื่อ “YandexBot” ซึ่งเป็นของเครื่องมือค้นหาของ Yandex และให้รายละเอียดเพิ่มเติมเกี่ยวกับโปรแกรมบอทนี้ รวมถึงความเข้ากันได้และลักษณะคล้ายเบราว์เซอร์

อย่างในตัวอย่างนี้เป็น Log ของ Bot ที่เข้ามา Crawl ข้อมูลบนเว็บไซต์ แต่ HTTP Status Code เป็น 503 หมายความว่า Bot ไม่สามารถเข้าไปทำการเก็บข้อมูลได้สำเร็จ ซึ่งด้วยโค้ด 5xx บ่งบองว่าเป็นปัญหามาจาก Server Side แต่หากเป็นโค้ด 4xx ก็จะหมายความว่าปัญหามาจาก Client Side

Mozilla/5.0 คืออะไร

"Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0"

ข้อมูลตรงมีความเกี่ยวข้องกับ User Agent String ที่ใช้โดย Client ซึ่งในที่นี้คือโปรแกรมบอท ที่ทำการร้องขอเข้าสู่เซิร์ฟเวอร์เว็บ User Agent Sting เป็นข้อมูลที่ถูกส่งโดยเบราว์เซอร์หรือโปรแกรมบอทจาก Client ไปยังเซิร์ฟเวอร์เพื่อระบุตัวตนและให้รายละเอียดเกี่ยวกับความสามารถของ Client นั้น

การที่มี “Mozilla/5.0” อยู่ใน User Agent String มันมีเรื่องราวที่ผ่านมายาวนาน นานแค่ไหนมาลองดูกัน

  1. ในช่วงแรกของเว็บเมื่อโปรโตคอล HTTP กำลังพัฒนา โปรแกรมเบราว์เซอร์รุ่นแรกของ Netscape เป็นหนึ่งในโปรแกรมเบราว์เซอร์ที่ใช้กันอย่างกว้างขวาง โปรแกรมนี้ถูกพัฒนาโดยบริษัท Netscape Communications Corporation ซึ่งต่อมาถูกเข้าซื้อโดย AOL
  2. เพื่อให้ความเข้ากันได้กับเว็บไซต์และเซิร์ฟเวอร์ต่าง ๆ โปรแกรมเบราว์เซอร์อื่น ๆ ที่รวมถึง Internet Explorer และโปรแกรมเบราว์เซอร์ในช่วงแรก ๆ ได้เริ่มรวม “Mozilla” ใน User Agent String ของตัวเอง ซึ่งช่วยให้เซิร์ฟเวอร์เว็บระบุเบราว์เซอร์และส่งเนื้อหาที่เหมาะสมให้กับความสามารถของเบราว์เซอร์นั้น ๆ
  3. จากการที่มี “Mozilla/5.0” อยู่ใน User Agent String การใช้งานแบบนี้นี้ยังคงต่ออยู่ในปัจจุบันเนื่องจากเหตุผลที่เกี่ยวข้องกับความเข้ากันได้ สตริง “Mozilla/5.0” นี้ในปัจจุบันถูกใช้โดยเบราว์เซอร์หลากหลายรูปแบบไม่ใช่เพียงเฉพาะ Netscape หรือตัวลูกพี่ๆ ของมัน
  4. ส่วนหลังจาก “Mozilla/5.0” ใน User Agent String เช่น “AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0” แสดงถึงเครื่องมือการเขียนเว็บของเบราว์เซอร์ ในที่นี้ในสตริงนี้กล่าวถึง “Gecko” ซึ่งเป็นเครื่องมือการเขียนเว็บที่ใช้โดยเบราว์เซอร์เช่น Firefox

เป็ยยังไงกันบ้างกับข้อมูลอธิบายเกี่ยวกับ Server Log หวังว่าจะช่วยให้เพื่อน ๆ อ่านทำความเข้าใน Server Log กันได้มากขึ้นนะครับ และหากต้องการสอบถามตรงไหนเพิ่มเติม หรืออยากให้ ThaiSharp อธิบายในส่วนไหนอีก ลองมาพูดคุยกันได้เลย

Similar Posts

Leave a Reply

Your email address will not be published.