สิ่งนี้อาจเห็นได้ชัดเจน แต่ฉันสงสัยว่า: ทำไมฉันต้องพึ่งพาเซิร์ฟเวอร์ของ Googleเพื่อโฮสต์ jQuery สำหรับเว็บไซต์ของฉัน
เป็นเพราะมันโหลดเร็วกว่าแบบนี้เหรอ?
สิ่งนี้อาจเห็นได้ชัดเจน แต่ฉันสงสัยว่า: ทำไมฉันต้องพึ่งพาเซิร์ฟเวอร์ของ Googleเพื่อโฮสต์ jQuery สำหรับเว็บไซต์ของฉัน
เป็นเพราะมันโหลดเร็วกว่าแบบนี้เหรอ?
คำตอบ:
นี้เป็นเพราะ:
มีหลายสถานการณ์เมื่อคุณอาจไม่ต้องการใช้ jQuery จาก CDN ของ Google:
เมื่อคุณสร้างแอปพลิเคชันอินทราเน็ตซึ่งโฮสต์เว็บเซิร์ฟเวอร์บนเครือข่ายเดียวกับไคลเอนต์ หากคุณใช้ CDN jQuery ของ Google คุณจะโทรไปยังอินเทอร์เน็ตแทนเว็บเซิร์ฟเวอร์ในเครือข่ายท้องถิ่น สิ่งนี้จะเพิ่มแบนด์วิดท์สำหรับองค์กรของคุณและช้าลง
เมื่อคุณต้องการเรียกใช้โปรแกรมประยุกต์ออฟไลน์ของคุณ (ค่อนข้างเชื่อมโยงกับปัญหาแรก) หากคุณต้องการทำงานในสภาพแวดล้อมการพัฒนา (จัดการกับBower ) คุณอาจต้องทำให้แอปพลิเคชันของคุณทำงานได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต (เช่น: ในรถไฟ :)
เมื่อคุณจำเป็นต้องปรับแต่ง ตัวอย่างเช่นหากคุณใช้Gruntในการสร้างห้องสมุดเพื่อใช้เฉพาะบางโมดูลหรือการตั้งค่าชื่อ AMD
เมื่อคุณให้บริการหน้าเว็บผ่าน SSL ที่ต้องใช้ jQuery คุณควรให้บริการ JavaScript ผ่าน SSL รวมถึงหน้าของคุณเพื่อหลีกเลี่ยงปัญหาด้านความปลอดภัยและคำเตือน
นอกจากนี้Microsoft โฮสต์ jQueryใน CDN นั่นเป็นอีกทางเลือกหนึ่งที่เทียบได้กับการใช้ jQuery ที่โฮสต์
src="//ajax.googleapis.com/..."
งาน
นี้การศึกษาโดยTJ VanTollเชื่อฉันว่ามันจะดีกว่าที่จะเชื่อม jQuery กับสคริปต์อื่น ๆ มากกว่าการโหลดจาก CDN
เหตุผลคือความล่าช้าในการดึงข้อมูล jQuery บนอุปกรณ์มือถือ:
"ในปี 2012 เวลา RTT เฉลี่ยในเครือข่ายมือถือในสหรัฐอเมริกาคือ 344 มิลลิวินาทีและ 344 มิลลิวินาทีนั้นใช้กับการร้องขอ HTTP ทุกครั้งเท่านั้นซึ่งตอนนี้หน้าเว็บเฉลี่ยสร้าง 93 แห่ง - แต่ยังรวมถึงการค้นหา DNS และการเชื่อมต่อ TCP ทั้งหมด ... ในขณะที่ค่าเฉลี่ยของ RTT กำลังดีขึ้นมีเพียงเล็กน้อยที่จะได้รับเพิ่มเติมเนื่องจากเครือข่ายปัจจุบันอยู่ภายในปัจจัยเล็ก ๆ ของข้อ จำกัด ทางทฤษฎีที่กำหนดโดยฟิสิกส์ "
เขายังอ้างถึงโพสต์นี้จาก Steve Souders ซึ่งแสดงว่าทำไมคุณไม่น่าจะได้รับประโยชน์จากการใช้ CDN:
"เนื่องจากการกระจายตัวของผู้ให้บริการ CDN, รุ่น jQuery และการใช้โพรโทคอล (http เทียบกับ https) โอกาสที่จะได้รับการโจมตีจากแคช CDN นั้นต่ำมากและการดาวน์โหลดจากโดเมนภายนอกมีศักยภาพในการดำเนินการไม่ได้ ไปกลับ (การค้นหา DNS การเชื่อมต่อ TCP และ HTTP GET) "
ประโยชน์ที่ยิ่งใหญ่ที่สุดคือจากการแคช ทฤษฎีคือถ้าผู้เยี่ยมชมเว็บไซต์ที่โหลดไลบรารี JavaScript ของพวกเขาพูด jQuery เช่นจาก Google CDN จากนั้นเมื่อพวกเขาเยี่ยมชมเว็บไซต์ของคุณห้องสมุดอยู่ในแคชเบราว์เซอร์ของผู้ใช้และจะไม่ต้องดาวน์โหลดอีกครั้ง . ฟังดูดีในทางทฤษฎี
ประโยชน์ที่ได้รับการแบ่งปันที่นี่และที่อื่น ๆ ล้วนเป็นทฤษฎี เพิ่งเจอการวิเคราะห์เชิงลึกของการใช้ CDN และหากมันให้ผลประโยชน์ที่คาดหวัง http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits
เหตุผลสำคัญที่จะไม่ให้ Google โฮสต์ jQuery ของคุณซึ่งเป็นสิ่งที่หลายคนไม่คิดว่าเป็นเพราะมันจะไม่ดาวน์โหลดถ้าคุณอยู่ในประเทศจีน มันถูกบล็อกพร้อมกับสคริปต์อื่น ๆ อีกมากมายแบบอักษรและอื่น ๆ ... โฮสต์โดย Google CDN หากคุณต้องการเข้าถึงผู้ชมชาวจีนคุณควรใช้การถอยกลับโฮสต์บนเซิร์ฟเวอร์ของคุณเอง Google APIS ถูกบล็อกในประเทศจีน
บางคำตอบที่ดีเกี่ยวกับ "ทำไมคุณควร ... " และ "ทำไมคุณไม่ควร ... "
ฉันเพียงต้องการเพิ่มรายการทางเลือกให้กับ Google หากคุณไม่ต้องการโหลด jQuery จาก CDN
แต่โดยรวมแล้วคุณจะปรับปรุงเว็บไซต์ / แอปพลิเคชั่นโดยรวม
ใช้ CDN กับ Service Worker คุณสามารถดาวน์โหลด CDN หนึ่งครั้งในช่วงอายุการใช้งานของไคลเอ็นต์และไม่ใช่ทุกครั้งที่คุณอัปเดตรหัสของคุณ