Google jQuery โฮสต์ห้องสมุด - มันดีมั้ย


14

มีประโยชน์ใด ๆ ที่สัมผัสได้จริงจากการใช้ห้องสมุดที่โฮสต์โดย Google jQuery? หรือเราจะดาวน์โหลดลงเซิร์ฟเวอร์ของเรา

คุณมีความคิดเห็นอย่างไรกับเรื่องนี้?


1
การค้นหา google อย่างง่ายได้ให้คำตอบ ...
Francisco Presencia

คำตอบ:


18

มีประโยชน์สองประการที่สำคัญในการใช้ CDN ภายนอกเช่น Google เพื่อโฮสต์ jQuery:

  1. มันเร็วกว่า จะเร็วกว่าเว็บไซต์ของคุณอย่างแน่นอนและอาจเร็วกว่า CDN ใด ๆ ที่คุณตั้งค่าด้วยตนเอง
  2. มันอาจถูกแคชแล้ว มีไซต์จำนวนมากที่อ้างอิง jQuery บน CDN ของ Google เช่นกันดังนั้นหากพวกเขาเยี่ยมชมเว็บไซต์อื่นก่อนที่คุณจะซื้อพวกเขาพวกเขาไม่จำเป็นต้องดาวน์โหลด

ข้อเสียที่อาจเกิดขึ้น:

  1. โดเมนอาจถูกบล็อก (นี่เป็นเรื่องธรรมดามากในสถานที่เช่นประเทศจีน) คุณสามารถแก้ปัญหานี้ได้โดยใช้ทางเลือกในท้องถิ่น ( ดูที่นี่สำหรับวิธีการ )
  2. การกระจายตัวของหมายเลขรุ่นค่อนข้างสูงดังนั้นผู้เยี่ยมชมไซต์ของคุณอาจมีรุ่นที่แตกต่างกันหลายแคช แต่ไม่ใช่หมายเลขที่คุณอ้างอิง ( ดูที่นี่สำหรับสถิติล่าสุดบางส่วน ) นี่เป็นเพียงปัญหาในการโหลดหน้าแรกแม้ว่า

3
คุณสามารถโพสต์ข้อมูลอ้างอิงสำหรับวิธีการตั้งค่าทางเลือกในท้องถิ่นได้หรือไม่?
Stephen Ostermiller

1
ดังที่ Zistolen ชี้ให้เห็นก่อนหน้านี้ข้อดีอีกประการคือมันจะดาวน์โหลดแบบขนานกับเว็บไซต์อื่น ๆ ของคุณ คุณอาจต้องการที่จะเพิ่มคำตอบที่ดีนี้
nathangiesbrecht

นั่นเป็นสิ่งที่ทำให้เข้าใจผิดเล็กน้อย เบราว์เซอร์ดาวน์โหลดเนื้อหาแบบขนานโดยไม่คำนึงถึงที่ที่โฮสต์อยู่ แต่มีข้อ จำกัด เกี่ยวกับจำนวนสิ่งที่พวกเขาจะดาวน์โหลดจากโฮสต์เดียวกันพร้อมกัน
ทิม Fountain

ฉันข้ามไปอย่างสุจริตมันไม่ได้อยู่ที่นี่หรือที่นั่น - ไฟล์อาจถูกดาวน์โหลดแบบขนาน แต่มันก็เป็นการค้นหา DNS เพิ่มเติม นอกจากนี้ไม่ว่าเวลาใดก็ตามที่ทำให้แตกต่างกันเล็กน้อยก็ไม่สำคัญ
DisgruntledGoat

ยุติธรรมพอสมควร แต่ในการเชื่อมต่อที่รวดเร็วจะไม่ส่งผลให้เวลาโหลดโดยรวมเร็วขึ้นเนื่องจากสามารถใช้ "pipe" มากกว่านี้ได้หรือไม่
nathangiesbrecht

11

ข้อเสียอื่น:

การใช้ CDN ช่วยให้ผู้ดำเนินการ CDN สามารถติดตามผู้เยี่ยมชมไซต์ได้ นั่นเป็นเหตุผลที่พวกเขาไม่ต้องเสียเงิน


ตรวจสอบให้แน่ใจว่าไม่ใช่ผู้เยี่ยมชม: ทั้งของ jquery และ jquery CDN ของ Google นั้นโฮสต์อยู่ในโดเมนที่ไม่ได้ตั้งค่าหรือใช้คุกกี้ (นี่อาจเป็นการเพิ่มประสิทธิภาพการทำงาน) และไม่มีข้อมูลที่สามารถระบุตัวตนได้จริงๆในคำขอ ผู้ให้บริการ CDN สามารถรับแนวคิดเกี่ยวกับที่อยู่ IP และสถิติบางอย่างเกี่ยวกับสตริงตัวแทนผู้ใช้และผู้อ้างอิง นี่อาจเป็นสิ่งที่มีค่า แต่ไม่ใช่ความเสี่ยงด้านความเป็นส่วนตัว (ถ้าบันทึกเหล่านี้มีความสัมพันธ์กับฐานข้อมูลอื่น - กล่าวว่าโฆษณาส่วนบุคคลที่แสดงในเวลาเดียวกัน - อาจเป็นวิธีการติดตาม)
Eamon Nerbonne

ฉันคิดว่ามันสามารถใช้เพื่อให้ได้รับอนุญาต (ในกรณีของ google) ว่าข้อมูลมีความสัมพันธ์กับฐานข้อมูลอื่น ๆ เนื่องจากเกือบทุกคนใช้ google เพื่อค้นหาตลอดเวลา สิ่งเดียวกันกับแบบอักษรของ Google: ฉันเพิ่งพยายามโฮสต์แบบอักษรด้วยตนเองบนเซิร์ฟเวอร์ แต่พบว่ามันยากมากที่จะทำ Google ไม่ได้ห้าม (Open Source) แต่พวกเขาไม่ได้จัดเตรียมไฟล์ในแบบที่พร้อมใช้งานให้คุณ: คุณสามารถรวบรวมไฟล์ด้วยตัวคุณเอง (แต่ไม่มี makefile) หรือคุณสามารถปลอมแปลงคำขอไปยัง เซิร์ฟเวอร์ที่ใช้ในการส่งมอบตามปกติ ทั้งคู่ไม่สามารถใช้งานได้สำหรับผู้ที่ไม่ได้ใช้เทคโนโลยี
Jost

บางที. ฉันไม่มีข้อมูลภายในใด ๆ ดังนั้นจึงเป็นการยากที่จะพูดได้อย่างแน่นอน ฉันแน่ใจว่ามันจะเป็นบั๊กกี้และมีช่องว่างที่สำคัญ แต่: สถานที่ส่วนใหญ่ที่ฉันใช้อินเทอร์เน็ตนั้นเป็น NATed และหลายคนมีผู้ใช้จำนวนไม่มากนักที่มีเครื่องคล้ายกัน (น่าจะเป็นสตริง UA ที่เหมือนกัน) - มันเป็นไปไม่ได้ คำขอมาจากใคร และแน่นอนว่าสิ่งที่มีปุ่ม Adsense และการแบ่งปันทางสังคมพวกเขาอาจมีวิธีที่เชื่อถือได้มากขึ้นเกือบตลอดเวลาดังนั้นฉันสามารถจินตนาการได้ว่าพวกเขาไม่สนใจ สำหรับฟอนต์ - ฉันดาวน์โหลดมาหลายครั้งแล้วฉันก็เลยไม่ค่อยเข้าใจว่าคุณหมายถึงอะไรมันยากขนาดนี้?
Eamon Nerbonne

เพื่อความชัดเจน: ฉันถือว่าสมมติว่าการเยี่ยมชมเว็บไซต์ส่วนใหญ่ของคุณสามารถทำได้และจะถูกติดตามโดยนักสะสมสถิติขนาดใหญ่โดยอาศัยปุ่มแชร์โซเชียล (แพร่หลายมาก) และโฆษณาซึ่งมีอยู่ทุกที่ ดังนั้นฉันจึงสงสัยว่าข้อมูลที่มีค่าอาจทำให้เข้าใจผิดจากคำขอ js ที่แคชอย่างมากคือ - ฉันเดิมพันไม่มากดังนั้นฉันจึงคิดว่าพวกเขาไม่ต้องการพยายามระบุตัวบุคคลโดยใช้ JS ที่เสิร์ฟโดย CDN
Eamon Nerbonne

ไม่ใช่สิ่งที่แคชไว้อย่างที่คิด - เมื่อฝังฟอนต์โดยใช้วิธีที่กูเกิลชอบด้วยการแทรกลิงค์ CSS ไปที่ fonts.googleapis.com การดูหน้าเว็บทุกครั้งจะเปิดการเชื่อมต่อกับ google (คุณสามารถเห็นมันใน Firebug) ไม่สำคัญว่าแคชหรือไม่ ในการดาวน์โหลด: คุณสามารถชี้ให้ฉันไปยังสถานที่ที่ฉันสามารถดาวน์โหลดแบบอักษรในรูปแบบ eot, woff, ttf และ svg ที่มีคุณภาพสูง (google รุ่นเดียวกันให้ไม่มีตัวแปลงภายนอก)
Jost

3

การใช้ CDN (s) เพื่อลดการพึ่งพาของคุณในเซิร์ฟเวอร์จำนวนมากเช่นนี้ในสาระสำคัญแสดงถึงการแลกเปลี่ยนระหว่างแบนด์วิดท์และเวลาแฝงสมมติว่าคุณสนใจเฉพาะประสิทธิภาพเท่านั้น

ฉันบังเอิญสมมติว่าทางเลือกไม่ใช่เพียงแค่ให้บริการในพื้นที่ แต่เชื่อมต่อกับคำขอในท้องถิ่นอื่น - โดยปกติแล้วจะไม่มีเหตุผลที่ดีที่จะไม่เชื่อมต่อเมื่อคุณสามารถทำได้

ถ้าแบนด์วิดธ์ไม่มีที่สิ้นสุดคุณจะดีที่สุดที่จะไม่ส่งเสียงดังเพราะคุณจะช้าเท่ากับบริการที่ช้าที่สุด - เนื่องจากเวลาแฝงไม่สามารถคาดเดาได้อย่างสมบูรณ์แบบด้วยบริการที่เพียงพอแม้ว่ามันจะเร็วคุณก็แค่หนึ่งบิต ของความโชคร้ายที่ทำให้หน้าโหลดช้า

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

ขึ้นอยู่กับสถานการณ์ของคุณ แต่โดยทั่วไปฉันคาดหวังว่าเวลาแฝงจะมีปัญหามากกว่าแบนด์วิดท์เว้นแต่ว่าสคริปต์ของคุณจะมีขนาดใหญ่มาก (ซึ่ง jquery ไม่ใช่) ณ จุดนี้มักจะเร็วกว่าที่จะโฮสต์ jquery ซึ่งเป็นส่วนหนึ่งของไฟล์โลคอลที่ต่อกัน

เหตุผลที่ไม่โฮสต์ในพื้นที่นั้นเช่นเมื่อคุณจ่ายแบนด์วิดท์หรือคุณกำลังโฮสต์บนเซิร์ฟเวอร์ที่ช้า (การเชื่อมต่อของคุณไปยังไคลเอนต์มีปัญหาด้านคอขวดไม่ใช่ลูกค้า) หรือคุณรู้ว่าลูกค้าของคุณจะมีแบนด์วิดท์ต่ำมาก (dsl หรือโมเด็มระดับล่างพูด - มือถือมีแนวโน้มที่จะมีปัญหาเรื่องเวลาในการตอบสนองมากกว่าแบนด์วิธ) หรือลูกค้าของคุณจ่ายค่าแบนด์วิดท์ (เช่นโทรศัพท์มือถือ) และสคริปต์เป็นส่วนที่สังเกตเห็นได้ชัดเจนว่า )

ไม่ว่าในกรณีใด: มีความเกี่ยวข้องมากขึ้นไม่ว่าคุณจะครอบคลุมพื้นฐานก่อนหรือไม่ ส่วนหัวแคชที่เหมาะสมการต่อข้อมูลการลดขนาดและการขยายไฟล์ (ควรมีอัตราส่วนการบีบอัดสูง) และนี่คือปม: ถ้าคุณไม่ทำอย่างนั้นอย่างน้อย CDN จะชนะนั่นคือชัยชนะ ...

TL; DR:ถ้าคุณต่อเชื่อม + minification + gzipping + แล้วแคชทั้งหมดที่ครอบคลุมการให้บริการสคริปต์ขนาดเล็กแบบโลคัลนั้นเร็วกว่าจาก CDNแม้จะมีประสิทธิภาพที่ดีขึ้นของ CDN - แต่ถ้าคุณทำการบ้านของคุณอาจไม่ได้อยู่ในหน้าแรก โหลดและมีข้อยกเว้นสำหรับกฎนี้อย่างแน่นอน


อนึ่งมีเศษขี้เถ้าชนะโดยใช้เพียงคำขอเดียว: ส่วนหัวเพียงอย่างเดียวจำนวนเกือบ 1kb ซึ่งในน้ำหนักบรรทุก 28k ไม่ได้เป็นอะไรเลย gzip ทำงานได้ดีขึ้นด้วยบริบทที่มากขึ้นซึ่งจะช่วยประหยัดอีก 0.5k ค่าใช้จ่าย TCP, DNS, HTTPS สามารถเพิ่ม KB ได้อย่างง่ายดายที่นี่หรือที่อื่น ๆ และที่แย่กว่านั้นคือ RTT นั่นเป็นสาเหตุที่ไฟล์ขนาดเล็กเช่นนี้ CDN นั้นไม่เร็วอย่างที่คุณคิด
Eamon Nerbonne

1

การใช้ห้องสมุดที่โฮสต์โดย jQuery นั้น Google อนุญาตให้โหลดหน้าเว็บของคุณได้เร็วขึ้น อันที่จริงไลบรารีถูกโหลดพร้อมกันในหน้าเว็บของคุณแทนที่จะเป็นหลัง


แต่มันมีผลต่อการโหลดหน้าเว็บอย่างไร
Leo

1
นอกจากนี้ยังมีการโหลดห้องสมุดท้องถิ่นในขณะที่โหลดหน้าเว็บ - ในทั้งสองกรณีการดาวน์โหลดเนื้อหาเริ่มต้นเมื่อเบราว์เซอร์ (ทันสมัย) เห็นข้อมูลโค้ดที่ทำให้การดาวน์โหลดเกิดขึ้นซึ่งมักจะเกิดขึ้นก่อนที่จะดาวน์โหลดเอกสารทั้งหมด ดูภาพหน้าจอ Firebugนี้สำหรับตัวอย่าง
Jost
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.