สำหรับการถ่ายโอนไฟล์ ftp ทำงานได้ดีกว่า http หรือไม่


12

เมื่อฉันมีตัวเลือก http และ ftp (เช่นหน้าดาวน์โหลด Hadoop ) ฉันควรเลือก ftp หรือไม่

ฉันลอง ftp มาก่อนและไม่สังเกตเห็นความแตกต่างที่สำคัญ มันควรจะทำงานได้ดีขึ้นหรือไม่?

คำตอบ:


7

ถูกขโมยจาก 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


4
นี้เป็นส่วนใหญ่เกี่ยวกับข้อดี / ข้อเสียเมื่ออัปโหลด นั่นไม่ใช่สิ่งที่เป็นคำถาม
sleske

@sleske: เห็นด้วย ฉันลงคำตอบของ Nifle แล้ว
ลืมไปข้างหน้า

8

โดยทั่วไปคำตอบทั่วไปเกี่ยวกับประสิทธิภาพของเครือข่ายของโปรโตคอลนั้นยากมากเนื่องจากประสิทธิภาพขึ้นอยู่กับการตั้งค่าเครือข่ายเฉพาะซึ่งมักจะมากกว่าโปรโตคอลที่ใช้

ที่กล่าวมาฉันไม่ทราบเหตุผลใด ๆ ว่าทำไมปริมาณข้อมูลของ http และ ftp ควรแตกต่างกัน โดยพื้นฐานแล้วทั้งสองส่งข้อมูลผ่านสตรีม TCP ดังนั้นกระบวนการถ่ายโอนข้อมูลจริงจึงเหมือนกัน ดังนั้นไม่ความเร็วในการดาวน์โหลดทั่วไปควรเท่ากันสำหรับ ftp และ http

http มักเป็นที่ต้องการด้วยเหตุผลอื่น: ใช้งานได้ดีกับไฟร์วอลล์ (สามารถเป็นพร็อกซีได้) อนุญาตการรีสตาร์ทการดาวน์โหลดที่ขัดจังหวะและสามารถระบุประเภทสื่อพร้อมกับการดาวน์โหลด (MIME) ง่ายต่อการเข้ารหัส (TLS / SSL) ฯลฯ


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

1
ใช่ฉันหมายถึง http http ช่วยให้คุณสามารถดาวน์โหลดต่อได้ (โดยใช้ส่วนหัว "ช่วง:") ฉันยืนได้รับการแก้ไขเหมือนกับ FTP อย่างไรก็ตาม: มันยังอนุญาตให้ทำการดาวน์โหลดต่อ
sleske

สำหรับการ proxying / การเข้ารหัส: ใช่ FTP สามารถทำสิ่งนี้ได้ แต่ดูเหมือนจะซับซ้อนกว่าและที่สำคัญกว่านั้นแพร่หลายน้อยกว่าในขณะที่การสนับสนุน HTTP proxies และ TLS นั้นเป็นสากลอย่างแท้จริง
sleske

และโดยทั่วไปแล้วการดาวน์โหลด ftp ไม่จำเป็นต้องติดตั้งไคลเอนต์ ftp เนื่องจากเบราว์เซอร์ส่วนใหญ่สามารถดาวน์โหลดโดย ftp (โดยใช้ ftp: // URL) อย่างไรก็ตามเบราว์เซอร์ส่วนใหญ่ไม่สามารถอัปโหลดด้วย ftp
sleske

3

สำหรับฉันหนึ่งในข้อผิดพลาดที่ใหญ่ที่สุดของ FTP คือการไม่สามารถนำซ็อกเก็ตกลับมาใช้ใหม่ได้ FTP มีโหมดถ่ายโอน 3 โหมด, สตรีม, บล็อกและบีบอัดอย่างไรก็ตามการสนับสนุนสำหรับสองโหมดล่าสุดนั้นไม่ใช่เรื่องธรรมดา ในค่าเริ่มต้นและโหมดที่ใช้กันอย่างแพร่หลาย (สตรีม) ข้อมูลจะถูกถ่ายโอนโดยทั่วไปเป็นสตรีมดิบของไบต์และเนื่องจากไม่มีข้อมูลเมตาเกี่ยวกับเมื่อเสร็จสิ้นด้วยไฟล์นั้นจึงต้องปิดการเชื่อมต่อเมื่อเสร็จสิ้น หมายความว่าหากคุณถ่ายโอนไฟล์ 100,000 ไฟล์ผ่าน FTP คุณกำลังเปิดและปิดการเชื่อมต่อ TCP 100,000 รายการ ถ้านั่นไม่เลวร้ายพอเมื่อการเชื่อมต่อแบบใดแบบหนึ่งถูกปิดการทำงานนั้นจะต้องอยู่ในสถานะ TIME_WAIT เป็นระยะเวลาหนึ่ง การหน่วงเวลาเริ่มต้นสำหรับพอร์ตนั้นที่จะนำมาใช้ใหม่บน windows คือ 240 วินาที (4 นาที) ยิ่งไปกว่านั้นคุณมีพอร์ตสูงสุด 5,000 พอร์ตเท่านั้นที่จะใช้งานได้ตามค่าเริ่มต้น สิ่งนี้ทำให้ FTP เป็นฝันร้ายสำหรับการถ่ายโอนไฟล์ขนาดเล็กจำนวนมาก โดยการปรับแต่งรีจิสตรีคุณจะได้รับคูลดาวน์ล่าช้าถึง 30 วินาทีและเพิ่มพอร์ตผู้ใช้สูงสุดเป็นประมาณ 65,000 ซึ่งจะช่วยได้มาก แต่ก็ไม่เหมาะอย่างยิ่ง

HTTP ในทางกลับกันสามารถใช้ซ็อกเก็ตเดียวกันสำหรับการถ่ายโอนหลายไฟล์ ดังนั้นหากคุณมีไฟล์จำนวนมาก (โดยเฉพาะไฟล์ที่เล็กกว่า) HTTP จะเป็นตัวเลือกที่ดีกว่าโดยไม่ต้องสงสัย

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

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