เมื่อฉันมีตัวเลือก http และ ftp (เช่นหน้าดาวน์โหลด Hadoop ) ฉันควรเลือก ftp หรือไม่
ฉันลอง ftp มาก่อนและไม่สังเกตเห็นความแตกต่างที่สำคัญ มันควรจะทำงานได้ดีขึ้นหรือไม่?
เมื่อฉันมีตัวเลือก http และ ftp (เช่นหน้าดาวน์โหลด Hadoop ) ฉันควรเลือก ftp หรือไม่
ฉันลอง ftp มาก่อนและไม่สังเกตเห็นความแตกต่างที่สำคัญ มันควรจะทำงานได้ดีขึ้นหรือไม่?
คำตอบ:
ถูกขโมยจาก eHow ลิงก์ที่ด้านล่าง
ข้อดีและข้อเสียของ HTTP
การอัพโหลด HTTP เป็นวิธีการที่ง่ายมากในการอัพโหลดไฟล์ไปยังเซิร์ฟเวอร์โดยมีความรู้เกี่ยวกับการถ่ายโอนไฟล์น้อยที่สุด การดาวน์โหลดไฟล์ก็ง่ายอย่างไม่น่าเชื่อเช่นกัน อย่างไรก็ตามข้อเสียอยู่ที่ HTTP ไม่มีพลังงานเมื่อพูดถึงการอัพโหลดไฟล์ นอกจากนี้โปรแกรมเมอร์ต้องมีความรู้ที่จำเป็นในการสร้างแบบฟอร์มในรูปแบบ HTML เพื่ออัปโหลดไฟล์ที่เป็นปัญหา สิ่งนี้จะเป็นจริงหากไฟล์นั้นมีไว้สำหรับเครือข่ายสังคมออนไลน์เช่นเดียวกับ Myspace หรือ Facebook ที่พวกเขากำลังสร้าง
ข้อดีและข้อเสียของ FTP
การใช้เซิร์ฟเวอร์ FTP มีข้อได้เปรียบของตัวเอง สำหรับผู้ใช้หนึ่งคนสามารถใช้โปรแกรมเพื่อทำการอัปโหลดจำนวนมากไปยังเซิร์ฟเวอร์โดยไม่ต้องกังวลว่าจะต้องทำการรีบิวด์ไฟล์ซ้ำ ๆ และอัปโหลดใหม่โดยใช้รูปแบบเดียว การดาวน์โหลดก็สามารถทำได้เช่นกัน น่าเสียดายที่เซิร์ฟเวอร์ FTP ยังคงต้องใช้ไคลเอนต์ FTP เพื่อใช้งานและการใช้งานจะยุ่งยากโดยเฉพาะอย่างยิ่งกับผู้ที่ต้องการอัปโหลดรูปภาพหนึ่งหรือสองรูป
ความแตกต่าง
ในที่สุดการถ่ายโอนไฟล์ FTP และ HTTP มีวัตถุประสงค์ที่แตกต่างอย่างสิ้นเชิง วัตถุประสงค์ในการถ่ายโอนไฟล์ของ FTP นั้นมีมากหรือน้อยสำหรับการบำรุงรักษาเว็บไซต์และการอัปโหลดเป็นกลุ่มในขณะที่ HTTP ใช้สำหรับงานลูกค้าและสำหรับผู้ใช้ปลายทางในการอัพโหลดสิ่งต่าง ๆ เช่นภาพยนตร์รูปภาพและไฟล์อื่น ๆ ไปยังเซิร์ฟเวอร์ บ่อยครั้งที่โปรแกรมเมอร์จะใช้ FTP เพื่ออัปโหลดไฟล์ที่อนุญาตให้ผู้ใช้ปลายทางอัปโหลดไฟล์ผ่าน HTML / HTTP เช่นกัน
อ่านเพิ่มเติม: HTTP กับ การถ่ายโอนไฟล์ FTP eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY
โดยทั่วไปคำตอบทั่วไปเกี่ยวกับประสิทธิภาพของเครือข่ายของโปรโตคอลนั้นยากมากเนื่องจากประสิทธิภาพขึ้นอยู่กับการตั้งค่าเครือข่ายเฉพาะซึ่งมักจะมากกว่าโปรโตคอลที่ใช้
ที่กล่าวมาฉันไม่ทราบเหตุผลใด ๆ ว่าทำไมปริมาณข้อมูลของ http และ ftp ควรแตกต่างกัน โดยพื้นฐานแล้วทั้งสองส่งข้อมูลผ่านสตรีม TCP ดังนั้นกระบวนการถ่ายโอนข้อมูลจริงจึงเหมือนกัน ดังนั้นไม่ความเร็วในการดาวน์โหลดทั่วไปควรเท่ากันสำหรับ ftp และ http
http มักเป็นที่ต้องการด้วยเหตุผลอื่น: ใช้งานได้ดีกับไฟร์วอลล์ (สามารถเป็นพร็อกซีได้) อนุญาตการรีสตาร์ทการดาวน์โหลดที่ขัดจังหวะและสามารถระบุประเภทสื่อพร้อมกับการดาวน์โหลด (MIME) ง่ายต่อการเข้ารหัส (TLS / SSL) ฯลฯ
สำหรับฉันหนึ่งในข้อผิดพลาดที่ใหญ่ที่สุดของ FTP คือการไม่สามารถนำซ็อกเก็ตกลับมาใช้ใหม่ได้ FTP มีโหมดถ่ายโอน 3 โหมด, สตรีม, บล็อกและบีบอัดอย่างไรก็ตามการสนับสนุนสำหรับสองโหมดล่าสุดนั้นไม่ใช่เรื่องธรรมดา ในค่าเริ่มต้นและโหมดที่ใช้กันอย่างแพร่หลาย (สตรีม) ข้อมูลจะถูกถ่ายโอนโดยทั่วไปเป็นสตรีมดิบของไบต์และเนื่องจากไม่มีข้อมูลเมตาเกี่ยวกับเมื่อเสร็จสิ้นด้วยไฟล์นั้นจึงต้องปิดการเชื่อมต่อเมื่อเสร็จสิ้น หมายความว่าหากคุณถ่ายโอนไฟล์ 100,000 ไฟล์ผ่าน FTP คุณกำลังเปิดและปิดการเชื่อมต่อ TCP 100,000 รายการ ถ้านั่นไม่เลวร้ายพอเมื่อการเชื่อมต่อแบบใดแบบหนึ่งถูกปิดการทำงานนั้นจะต้องอยู่ในสถานะ TIME_WAIT เป็นระยะเวลาหนึ่ง การหน่วงเวลาเริ่มต้นสำหรับพอร์ตนั้นที่จะนำมาใช้ใหม่บน windows คือ 240 วินาที (4 นาที) ยิ่งไปกว่านั้นคุณมีพอร์ตสูงสุด 5,000 พอร์ตเท่านั้นที่จะใช้งานได้ตามค่าเริ่มต้น สิ่งนี้ทำให้ FTP เป็นฝันร้ายสำหรับการถ่ายโอนไฟล์ขนาดเล็กจำนวนมาก โดยการปรับแต่งรีจิสตรีคุณจะได้รับคูลดาวน์ล่าช้าถึง 30 วินาทีและเพิ่มพอร์ตผู้ใช้สูงสุดเป็นประมาณ 65,000 ซึ่งจะช่วยได้มาก แต่ก็ไม่เหมาะอย่างยิ่ง
HTTP ในทางกลับกันสามารถใช้ซ็อกเก็ตเดียวกันสำหรับการถ่ายโอนหลายไฟล์ ดังนั้นหากคุณมีไฟล์จำนวนมาก (โดยเฉพาะไฟล์ที่เล็กกว่า) HTTP จะเป็นตัวเลือกที่ดีกว่าโดยไม่ต้องสงสัย
หากคุณกำลังทำไฟล์ขนาดใหญ่เพียงไม่กี่ไฟล์มันจะไม่สำคัญเท่าไรกับโปรโตคอลที่คุณใช้ ฉันคิดว่า FTP นึกถึงเมื่อมีคนนึกถึงการถ่ายโอนไฟล์ แต่นั่นไม่ได้หมายความว่าจะดีกว่า