วิธีสิ้นเปลืองแบนด์วิดท์และพลังงานแบตเตอรี่ พร้อมทั้งทำให้ผู้ดูแลระบบหงุดหงิด (rachelbythebay.com) 2 คะแนน โดย GN⁺ 2024-06-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp บทความที่เกี่ยวข้อง LinkedIn ใช้ RAM 2.4GB จากแค่สองแท็บ 4 คะแนน · 2 ความคิดเห็น · 2026-03-30 ข้อผิดพลาดที่พบบ่อยเมื่อใช้ Kubernetes และวิธีรับมือ 9 คะแนน · 0 ความคิดเห็น · 2020-05-19 ความหมดศรัทธาต่อซอฟต์แวร์ [บทความแปล] 4 คะแนน · 0 ความคิดเห็น · 2019-07-10 วิธีง่าย ๆ ในการลดทอนผลิตภาพซอฟต์แวร์ (2023) 63 คะแนน · 11 ความคิดเห็น · 2024-06-17 เว็บไซต์ทำให้ CPU และแบตเตอรี่สิ้นเปลืองได้อย่างไร 6 คะแนน · 1 ความคิดเห็น · 2025-02-17 1 ความคิดเห็น GN⁺ 2024-06-30 ความคิดเห็นบน Hacker News อ issue ที่ลิงก์ไว้ท้ายสุดเป็นอันที่ผมเขียนเอง รู้สึกเดจาวูแปลก ๆ ตอนนั้นพอขุดดูปัญหา ก็เจอพฤติกรรมที่ค่อนข้างประหลาด โดยพื้นฐานแล้ว Firefox โหลด favicon มากกว่าจำนวนแท็บที่เปิดของเว็บไซต์นั้น 4 เท่า และจะทำซ้ำทุกครั้งที่เปิดหรือปิดแท็บ https://aggressivelyparaphrasing.me/2022/12/12/why-does-my-l... ปัญหานี้ถูกแก้ไปนานแล้ว ดังนั้นอาการอาจคล้ายกันแต่สาเหตุรากต่างกัน หรืออาจยังมีคนใช้เวอร์ชันเก่าอยู่ก็ได้ ดูเหมือนว่า WordPress จะจัดการ 404 ได้ช้ามาก แค่ดูล็อกของผมก็เห็นบอตที่คอยสุ่ม URL เพื่อจิ้มช่องโหว่อยู่เรื่อย ๆ แล้วแบบนั้นมันยังทำงานได้ถูกต้องก็น่าแปลกใจแล้ว เป็นโปรเจกต์โอเพนซอร์ส และมีการถกประเด็นเชิงเทคนิคที่ดีบน GitHub[1] เรื่องนี้อาจเกี่ยวข้องกับพฤติกรรมผู้ใช้บางแบบ เช่น เปิดแท็บค้างไว้เป็นร้อย ๆ แท็บ แต่ความซับซ้อนของการยัดเบราว์เซอร์เข้าไปใน iOS ก็น่าจะมีผลแน่นอน เหมือนเอารถขุดไปใส่ในกระบะทรายแล้วบังคับมัน [1] https://github.com/mozilla-mobile/firefox-ios/issues/12113 ผมก็สงสัยเหมือนกันว่าคำขอแบบนี้จะถึงขั้น ทำเว็บเซิร์ฟเวอร์พัง ได้อย่างไร มันแค่ขอฟีดกับ favicon ซึ่งทั้งคู่แคชด้วย CDN ได้ ต่อให้ไม่แคช ทราฟฟิกมันจะใหญ่แค่ไหนเมื่อเทียบกับตอนหน้าอื่นบน HN ขึ้นหน้าแรกกันเชียว มันสิ้นเปลืองก็จริง แต่ดูไม่น่าเป็นเรื่องใหญ่ขนาดนั้น เปิดแท็บ Chrome เป็นร้อย ๆ แท็บก็ไม่เกิดเรื่องแบบนี้เลย แม้แต่เผลอเปิดแท็บใน iOS Safari ค้างไว้เป็นร้อย ๆ แท็บก็ไม่เกิดเรื่องนี้ อย่าโยนความผิดให้ ผู้ใช้ กับสิ่งที่ชัดเจนว่าเป็นบั๊กของแอปพลิเคชันเลย เห็นชื่อเรื่องปุ๊บก็นึกถึง LLM scraper และบอต ที่วิ่งไปทั่วเว็บทันที อีกไม่นานอาจไปรันตรงจาก AIphone เลยก็ได้ ผมเคยคิดว่าเบราว์เซอร์ทุกตัวบน iOS ใช้เอนจินเบราว์เซอร์ของ Apple และ Android ก็น่าจะเหมือนกัน พูดง่าย ๆ คิดว่าเป็นแค่สกินเท่านั้น ผมคิดว่า Firefox บน iOS ก็แค่ Safari ที่ครอบสกิน เพราะ Apple ไม่อนุญาตให้ใช้เอนจินเบราว์เซอร์อื่นบนโทรศัพท์ Firefox บน Android ยอดเยี่ยมเพราะ รองรับปลั๊กอิน แต่ถึงอย่างนั้น UI ก่อนปี 2021 ก็ยังดีกว่า เห็นคอมเมนต์พี่น้องค่อนข้างลบ เลยขอเสริมจากประสบการณ์ของผมว่า แม้ไม่รู้ว่าข้างในเกิดอะไรขึ้น แต่อย่างน้อยในช่วงหลายปีก่อนเขียนใหม่ ผมมองประสบการณ์ผู้ใช้ของ Android Firefox ในแง่ดีเสมอ ถึงผมจะไม่ชอบท่องเว็บบนมือถือ มันก็ยังทำให้พอทนได้ ส่วนปัญหาภายในผมพูดแทนไม่ได้ แต่แน่นอนว่าเป็นเรื่องที่ควรใส่ใจ Firefox บน Android สำหรับผมเหมือนผู้กอบกู้ เคล็ดลับคือบนมือถือก็ติดตั้ง uBlock Origin กับ NoScript ได้ เห็นคนท่องเว็บโดยไม่มีสองอย่างนี้แล้วตกใจมาก มันเหลือเชื่อที่ผู้คนยอมปล่อยให้ความสนใจของตัวเองถูกแย่งไปมากขนาดนั้น Firefox บน Android ไม่ได้ยอดเยี่ยมอะไร เป็นเวลาหลายปีที่ user agent ใส่ชื่อรุ่นโทรศัพท์แบบเป๊ะ ๆ ลงไปด้วย ดูไร้ความสามารถ ขอแก้หน่อยว่าคำพูดผมค่อนข้างแรง และหมายถึงบริษัท ไม่ใช่พนักงานคนใดคนหนึ่ง มันเป็นสภาพที่ Google ต้องการพอดี คือในประเด็นผูกขาดก็มีข้ออ้างปฏิเสธที่ฟังขึ้น ขณะเดียวกันก็ทำให้ทางเลือกอื่นห่วย iOS บังคับให้เบราว์เซอร์ใช้ WebKit ที่ระบบปฏิบัติการให้มา แต่ยังสามารถใช้เลเยอร์เครือข่ายของตัวเอง หรือฉีดสคริปต์เองแบบส่วนขยายได้ Orion ทำแบบนั้น Firefox สำหรับ iOS เคยใช้ Alamofire เป็นเอนจินเครือข่าย แต่สักช่วงหนึ่งเปลี่ยนไปใช้ NSURLSession/URLSession ส่วน Chrome สำหรับ iOS ใช้ Cronet ซึ่งแยกออกมาจากสแตกเครือข่ายของ Chromium แต่ไม่ได้ตามการพัฒนาล่าสุด เลยไม่รู้ว่าตอนนี้ยังเป็นแบบนั้นอยู่ไหม Firefox บน iOS เป็น Safari ครอบสกินจริง ๆ ถึงอย่างนั้นมันก็หลบคอนเทนต์ติดตาม/โฆษณาบางส่วนได้ จึงทำงานต่างออกไปบ้าง แต่ถ้ามันเป็นปัญหาขนาดนั้น ก็เพิ่ม favicon ไปก็จบ อนึ่ง ผมทดสอบด้วย Firefox บน iOS บ่อย ๆ แต่ไม่เคยเห็นปรากฏการณ์นี้ ผู้เขียนไซต์นี้ปกติเวลาพูดถึงบริษัทเชิงพาณิชย์รายใหญ่ที่ทำเรื่องโง่ ๆ จะพยายามปิดชื่อพอสมควร แต่พอเป็น Firefox กลับใช้ชื่อจริง อืม ผู้เขียนปิดชื่อนายจ้างของตัวเอง สิ่งที่พบในฐานะผู้ใช้ปลายทางก็ใช้ชื่อตรง ๆ ถ้าไม่บอกว่าเป็นเบราว์เซอร์ตัวไหน ตัวบทความเองก็หมดความหมาย ในฐานะคนที่อ่านผ่านฟีดมาตลอด ก็ไม่ได้เป็นแบบนั้นเสียทีเดียว และเป็นเฉพาะบางกรณีเท่านั้น จำได้ว่าเมื่อก่อน Internet Explorer ก็เคยมีเรื่องคล้ายกัน มันขอ favicon แต่ตอนนั้นไม่ได้ตั้งไว้ เลยได้หน้า 404 กลับมา แล้วเหมือนหน้านั้นไปกระตุ้นให้ขอ favicon อีกครั้ง น่าสนใจดี ถ้ามองเฉพาะประสบการณ์ผู้ใช้ Firefox สำหรับ iPhone เป็นแอปที่ยอดเยี่ยมจริง ๆ และเป็นเบราว์เซอร์ที่ผมชอบใช้มาหลายปีแล้ว ถึงแม้โดยพื้นฐานจะเป็น สกินของ Safari น่ะหรือ? favicon ไม่ได้เป็นส่วนหนึ่งของแต่ละไดเรกทอรี ถ้าเป็นแบบนั้นก็คงเป็นการออกแบบที่โง่มาก favicon แยกตามพาธฟังดูเหมือนฟีเจอร์จริง ๆ จริง ๆ แล้วมันเป็นฟีเจอร์ https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes... ทุกวันนี้ถ้ากำหนดแท็กที่ระบุไอคอนก็ค่อนข้างง่าย ต่างจากวิธีที่คาดหวังว่าไฟล์จะอยู่ในตำแหน่งที่ถูกต้อง ช่วยยก use case ที่ต้องมี favicon แยกตามพาธ อย่างน้อยสักสองสามกรณีได้ไหม? นานมาแล้วเคยทำด้วย pragma no-cache กับการตรวจ referrer มันไม่สมบูรณ์แบบ แต่ใช้ได้กับผู้ใช้ส่วนใหญ่ นั่นแหละคือประเด็นที่ผู้เขียนบทความพูด มีข้อเสนอหลายอย่างสำหรับวิธีปิดการขอ favicon อย่างสมบูรณ์ที่ https://stackoverflow.com/q/1321878/961353 ผมใช้ Firefox บน iPhone อยู่ ขอโทษด้วย แต่คงน่าจะเปลืองพลังงานน้อยกว่าการเล่นโน่นนี่กับ generative AI ฝากตำแหน่งโค้ดไว้สำหรับคนที่อยากตามหาบั๊ก: https://github.com/mozilla-mobile/firefox-ios/tree/main/Brow...
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
อ issue ที่ลิงก์ไว้ท้ายสุดเป็นอันที่ผมเขียนเอง รู้สึกเดจาวูแปลก ๆ ตอนนั้นพอขุดดูปัญหา ก็เจอพฤติกรรมที่ค่อนข้างประหลาด
โดยพื้นฐานแล้ว Firefox โหลด favicon มากกว่าจำนวนแท็บที่เปิดของเว็บไซต์นั้น 4 เท่า และจะทำซ้ำทุกครั้งที่เปิดหรือปิดแท็บ
https://aggressivelyparaphrasing.me/2022/12/12/why-does-my-l...
ปัญหานี้ถูกแก้ไปนานแล้ว ดังนั้นอาการอาจคล้ายกันแต่สาเหตุรากต่างกัน หรืออาจยังมีคนใช้เวอร์ชันเก่าอยู่ก็ได้
เป็นโปรเจกต์โอเพนซอร์ส และมีการถกประเด็นเชิงเทคนิคที่ดีบน GitHub[1] เรื่องนี้อาจเกี่ยวข้องกับพฤติกรรมผู้ใช้บางแบบ เช่น เปิดแท็บค้างไว้เป็นร้อย ๆ แท็บ แต่ความซับซ้อนของการยัดเบราว์เซอร์เข้าไปใน iOS ก็น่าจะมีผลแน่นอน
เหมือนเอารถขุดไปใส่ในกระบะทรายแล้วบังคับมัน
[1] https://github.com/mozilla-mobile/firefox-ios/issues/12113
ต่อให้ไม่แคช ทราฟฟิกมันจะใหญ่แค่ไหนเมื่อเทียบกับตอนหน้าอื่นบน HN ขึ้นหน้าแรกกันเชียว มันสิ้นเปลืองก็จริง แต่ดูไม่น่าเป็นเรื่องใหญ่ขนาดนั้น
อย่าโยนความผิดให้ ผู้ใช้ กับสิ่งที่ชัดเจนว่าเป็นบั๊กของแอปพลิเคชันเลย
พูดง่าย ๆ คิดว่าเป็นแค่สกินเท่านั้น
ผมคิดว่า Firefox บน iOS ก็แค่ Safari ที่ครอบสกิน เพราะ Apple ไม่อนุญาตให้ใช้เอนจินเบราว์เซอร์อื่นบนโทรศัพท์
Firefox บน Android ยอดเยี่ยมเพราะ รองรับปลั๊กอิน แต่ถึงอย่างนั้น UI ก่อนปี 2021 ก็ยังดีกว่า
ถึงผมจะไม่ชอบท่องเว็บบนมือถือ มันก็ยังทำให้พอทนได้ ส่วนปัญหาภายในผมพูดแทนไม่ได้ แต่แน่นอนว่าเป็นเรื่องที่ควรใส่ใจ
เห็นคนท่องเว็บโดยไม่มีสองอย่างนี้แล้วตกใจมาก มันเหลือเชื่อที่ผู้คนยอมปล่อยให้ความสนใจของตัวเองถูกแย่งไปมากขนาดนั้น
ดูไร้ความสามารถ ขอแก้หน่อยว่าคำพูดผมค่อนข้างแรง และหมายถึงบริษัท ไม่ใช่พนักงานคนใดคนหนึ่ง มันเป็นสภาพที่ Google ต้องการพอดี คือในประเด็นผูกขาดก็มีข้ออ้างปฏิเสธที่ฟังขึ้น ขณะเดียวกันก็ทำให้ทางเลือกอื่นห่วย
Firefox สำหรับ iOS เคยใช้ Alamofire เป็นเอนจินเครือข่าย แต่สักช่วงหนึ่งเปลี่ยนไปใช้ NSURLSession/URLSession ส่วน Chrome สำหรับ iOS ใช้ Cronet ซึ่งแยกออกมาจากสแตกเครือข่ายของ Chromium แต่ไม่ได้ตามการพัฒนาล่าสุด เลยไม่รู้ว่าตอนนี้ยังเป็นแบบนั้นอยู่ไหม
แต่ถ้ามันเป็นปัญหาขนาดนั้น ก็เพิ่ม favicon ไปก็จบ อนึ่ง ผมทดสอบด้วย Firefox บน iOS บ่อย ๆ แต่ไม่เคยเห็นปรากฏการณ์นี้
ผู้เขียนไซต์นี้ปกติเวลาพูดถึงบริษัทเชิงพาณิชย์รายใหญ่ที่ทำเรื่องโง่ ๆ จะพยายามปิดชื่อพอสมควร แต่พอเป็น Firefox กลับใช้ชื่อจริง อืม
จำได้ว่าเมื่อก่อน Internet Explorer ก็เคยมีเรื่องคล้ายกัน มันขอ favicon แต่ตอนนั้นไม่ได้ตั้งไว้ เลยได้หน้า 404 กลับมา แล้วเหมือนหน้านั้นไปกระตุ้นให้ขอ favicon อีกครั้ง
น่าสนใจดี ถ้ามองเฉพาะประสบการณ์ผู้ใช้ Firefox สำหรับ iPhone เป็นแอปที่ยอดเยี่ยมจริง ๆ และเป็นเบราว์เซอร์ที่ผมชอบใช้มาหลายปีแล้ว
favicon ไม่ได้เป็นส่วนหนึ่งของแต่ละไดเรกทอรี ถ้าเป็นแบบนั้นก็คงเป็นการออกแบบที่โง่มาก
favicon แยกตามพาธฟังดูเหมือนฟีเจอร์จริง ๆ
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes...
pragma no-cacheกับการตรวจ referrer มันไม่สมบูรณ์แบบ แต่ใช้ได้กับผู้ใช้ส่วนใหญ่มีข้อเสนอหลายอย่างสำหรับวิธีปิดการขอ favicon อย่างสมบูรณ์ที่ https://stackoverflow.com/q/1321878/961353
ผมใช้ Firefox บน iPhone อยู่ ขอโทษด้วย
แต่คงน่าจะเปลืองพลังงานน้อยกว่าการเล่นโน่นนี่กับ generative AI
ฝากตำแหน่งโค้ดไว้สำหรับคนที่อยากตามหาบั๊ก: https://github.com/mozilla-mobile/firefox-ios/tree/main/Brow...