ข้อดี (หรือข้อ จำกัด ) ของอีกข้อหนึ่งสำหรับการถ่ายโอนไฟล์ทางอินเทอร์เน็ตคืออะไร?
(ฉันทราบถึงรูปแบบที่ปลอดภัยของโปรโตคอลทั้งสองฉันต้องการฟังการเปรียบเทียบผ่านประสบการณ์ส่วนตัวในแง่ของประสิทธิภาพความน่าเชื่อถือข้อ จำกัด ขนาดไฟล์เป็นต้น)
ข้อดี (หรือข้อ จำกัด ) ของอีกข้อหนึ่งสำหรับการถ่ายโอนไฟล์ทางอินเทอร์เน็ตคืออะไร?
(ฉันทราบถึงรูปแบบที่ปลอดภัยของโปรโตคอลทั้งสองฉันต้องการฟังการเปรียบเทียบผ่านประสบการณ์ส่วนตัวในแง่ของประสิทธิภาพความน่าเชื่อถือข้อ จำกัด ขนาดไฟล์เป็นต้น)
คำตอบ:
นี่คือการเปรียบเทียบประสิทธิภาพของทั้งสอง HTTP ตอบสนองได้ดีกว่าสำหรับการร้องขอการตอบสนองของไฟล์ขนาดเล็ก แต่ FTP อาจดีกว่าสำหรับไฟล์ขนาดใหญ่หากได้รับการปรับแต่งอย่างเหมาะสม FTP ที่ใช้โดยทั่วไปถือว่าเร็วกว่า FTP ต้องการช่องสัญญาณควบคุมและรักษาสถานะนอกเหนือจากสถานะ TCP แต่ HTTP ไม่ได้ มีการถ่ายโอนข้อมูล 6 แพ็กเก็ตก่อนที่ข้อมูลจะเริ่มถ่ายโอนใน FTP แต่มีเพียง 4 ใน HTTP เท่านั้น
ฉันคิดว่าเลเยอร์ TCP ที่ปรับแต่งอย่างเหมาะสมจะมีผลต่อความเร็วมากกว่าความแตกต่างระหว่างโปรโตคอลเลเยอร์แอปพลิเคชัน Sun Blueprint การทำความเข้าใจเกี่ยวกับ Tuning TCPมีรายละเอียด
นี่เป็นการเปรียบเทียบที่ดีอีกประการหนึ่งของลักษณะเฉพาะของแต่ละโปรโตคอล
ฉันเพิ่งเปรียบเทียบการถ่ายโอนไฟล์ผ่านทั้ง FTP และ HTTP:
ผลลัพธ์:
fdm
): 1 นาทีดังนั้นโดยพื้นฐานแล้วภายใต้สถานการณ์ "ชีวิตจริง":
1) HTTP เร็วกว่า FTP เมื่อดาวน์โหลดไฟล์ขนาดใหญ่หนึ่งไฟล์
2) HTTP สามารถใช้การดาวน์โหลดแบบขนานซึ่งทำให้เร็วกว่า FTP ถึง 6 เท่าขึ้นอยู่กับเงื่อนไขของเครือข่าย
ไฟร์วอลล์จำนวนมากยกเลิกการเชื่อมต่อขาออกซึ่งไม่ใช่พอร์ต 80 หรือ 443 (http & https); บางคนถึงกับทิ้งการเชื่อมต่อไปยังพอร์ตที่ไม่ใช่ HTTP (S) FTP อาจได้รับอนุญาตหรือไม่ก็ได้ไม่ต้องพูดถึงโหมดที่ใช้งานอยู่ / PASV
นอกจากนี้ HTTP / 1.1 ยังช่วยให้สามารถร้องขอบางส่วนได้ดีขึ้นมาก ("ส่งจากไบต์ 123456 ไปยังจุดสิ้นสุดของไฟล์เท่านั้น") คำขอแบบมีเงื่อนไขและการแคช ("ส่งเฉพาะเมื่อเนื้อหามีการเปลี่ยนแปลง / หากวันที่แก้ไขล่าสุดเปลี่ยนแปลง") และการบีบอัดเนื้อหา (gzip)
HTTP ใช้งานง่ายกว่ามากผ่านพร็อกซี
จากหลักฐานประวัติของฉัน HTTP นั้นง่ายกว่าในการทำงานกับการเชื่อมต่อที่หลุด / ช้า / ไม่สม่ำเสมอ เช่นไม่จำเป็นต้อง (อีกครั้ง) สร้างเซสชันการเข้าสู่ระบบก่อน (อีกครั้ง) เริ่มการถ่ายโอน
OTOH, HTTP ไม่มีสถานะดังนั้นคุณต้องทำการตรวจสอบสิทธิ์และสร้างเส้นทางว่า "ใครทำอะไรเมื่อไหร่" ด้วยตัวเอง
ความแตกต่างเพียงอย่างเดียวของความเร็วที่ฉันสังเกตเห็นคือการถ่ายโอนไฟล์ขนาดเล็กจำนวนมาก: HTTP ที่มีการไปป์ไลน์นั้นเร็วกว่า (ลดการเดินทางไปกลับโดยเฉพาะอย่างยิ่งสังเกตได้ในเครือข่ายที่มีเวลาแฝงสูง)
โปรดทราบว่าHTTP / 2มีการเพิ่มประสิทธิภาพมากยิ่งขึ้นในขณะที่โปรโตคอล FTP ไม่เห็นการอัปเดตใด ๆ มานานหลายทศวรรษ (และแม้แต่ส่วนขยายไปยัง FTP ก็ยังไม่ได้รับความสนใจจากผู้ใช้) ดังนั้นหากคุณไม่โอนไฟล์ผ่านไทม์แมชชีนดูเหมือนว่า HTTP จะชนะ
(แทนใจ: มีโปรโตคอลที่เหมาะกว่าสำหรับการถ่ายโอนไฟล์เช่นrsync
หรือ BitTorrent แต่สิ่งเหล่านี้ไม่มีส่วนแบ่งในใจมากนักในขณะที่ HTTP คือ Everywhere ™)
ข้อควรพิจารณาประการหนึ่งคือ FTP สามารถใช้พอร์ตที่ไม่ได้มาตรฐานซึ่งอาจทำให้การเข้าถึงไฟร์วอลล์ทำได้ยาก (โดยเฉพาะอย่างยิ่งหากคุณใช้ SSL) โดยปกติ HTTP จะอยู่บนพอร์ตที่รู้จักดังนั้นจึงไม่ค่อยมีปัญหา
ถ้าคุณตัดสินใจที่จะใช้ FTP ให้แน่ใจว่าคุณอ่านเกี่ยวกับการใช้งานและ passive FTP
ในแง่ของประสิทธิภาพในตอนท้ายของวันพวกเขาทั้งสองกำลังพ่นไฟล์ลงการเชื่อมต่อ TCP โดยตรงดังนั้นควรจะเหมือนกัน
ทั้งสองใช้ TCP เป็นโปรโตคอลการขนส่ง แต่ HTTP ใช้การเชื่อมต่อแบบต่อเนื่องซึ่งทำให้ประสิทธิภาพของ TCP ดีขึ้น