Để truyền tệp, ftp có hoạt động tốt hơn http không?


11

Khi tôi có các tùy chọn http cũng như ftp (như trang tải xuống Hadoop ), tôi có nên chọn ftp không?

Tôi đã thử ftp trước đây và không nhận thấy sự khác biệt đáng kể nào. Có phải là để thực hiện tốt hơn?

Câu trả lời:


7

Lấy cắp từ eHow, liên kết ở phía dưới

Ưu điểm và nhược điểm của HTTP

Tải lên HTTP cung cấp một phương pháp cực kỳ đơn giản để tải tệp lên máy chủ, với kiến ​​thức tối thiểu về chuyển tệp. Tải về một tập tin cũng rất dễ dàng. Tuy nhiên, nhược điểm nằm ở việc thiếu sức mạnh của HTTP khi tải lên tệp. Ngoài ra, một lập trình viên cần có kiến ​​thức cần thiết để tạo biểu mẫu trong HTML, để tải lên tệp đang đề cập. Điều này đặc biệt đúng nếu tệp dành cho mạng xã hội tương tự như Myspace hoặc Facebook mà họ đang tạo.

Ưu điểm và nhược điểm của FTP

Sử dụng máy chủ FTP cung cấp các lợi thế của riêng nó. Đối với một người dùng, người dùng có thể sử dụng một chương trình để thực hiện tải lên hàng loạt lên máy chủ, không phải lo lắng về việc phải lặp lại nhiều lần cho các tệp và tải lên lại bằng một hình thức. Tải xuống cũng có thể được thực hiện en masse là tốt. Thật không may, một máy chủ FTP vẫn yêu cầu máy khách FTP sử dụng và việc sử dụng một máy chủ sẽ đặc biệt cồng kềnh đối với những người chỉ muốn tải lên một hoặc hai hình ảnh.

Sự khác biệt

Cuối cùng, chuyển tập tin FTP và HTTP có các mục đích hoàn toàn khác nhau. Mục đích truyền tệp của FTP ít nhiều để bảo trì trang web và tải lên hàng loạt, trong khi HTTP dành cho công việc của khách hàng và cho người dùng cuối để tải lên những thứ như phim, ảnh và các tệp khác lên máy chủ. Thông thường, lập trình viên sẽ sử dụng FTP để tải lên các tệp cho phép người dùng cuối cũng tải tệp qua HTML / HTTP.

Đọc thêm: HTTP Vs. Truyền tệp FTP | eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY


4
Điều này chủ yếu là về lợi thế / bất lợi khi tải lên . Đó không phải là những gì câu hỏi về.
sleske

@sleske: Đồng ý. Tôi đã đánh giá thấp câu trả lời của Nifle.
không thể

8

Nói chung, câu trả lời chung về hiệu suất mạng của một giao thức là rất khó, bởi vì hiệu suất rất phụ thuộc vào thiết lập mạng cụ thể, thường là nhiều hơn so với giao thức được sử dụng.

Điều đó nói rằng, tôi không biết bất kỳ lý do tại sao thông lượng dữ liệu của http và ftp nên khác nhau. Cả hai về cơ bản chỉ gửi dữ liệu qua luồng TCP, vì vậy quá trình truyền dữ liệu thực tế là như nhau. Vì vậy, không, nói chung tốc độ tải xuống phải giống nhau đối với ftp và http.

http thường được ưa thích vì các lý do khác: Nó hoạt động tốt hơn với tường lửa (có thể được ủy quyền), cho phép khởi động lại các tải xuống bị gián đoạn và có thể cung cấp loại phương tiện cùng với tải xuống (MIME), dễ mã hóa hơn (TLS / SSL) , Vân vân...


1
http không cho phép tải xuống bị gián đoạn, bạn có chắc là bạn không có ý nghĩa ftp? ftp có thể được ủy quyền và mã hóa cũng. Tải xuống http chỉ được ưu tiên chỉ vì nó không yêu cầu bất kỳ ai cài đặt ứng dụng khách ftp (hoặc máy chủ cho nhà cung cấp nội dung)
Nifle

1
Vâng, tôi có nghĩa là http. http cho phép bạn tiếp tục tải xuống (bằng cách sử dụng tiêu đề "Phạm vi:"). Tuy nhiên, tôi đã sửa lỗi cho FTP: Nó cũng cho phép tiếp tục tải xuống.
sleske

Về ủy quyền / mã hóa: Có, FTP có thể thực hiện việc này, nhưng dường như nó phức tạp hơn và quan trọng hơn là ít phổ biến hơn, trong khi hỗ trợ cho proxy HTTP và TLS thực tế là phổ biến.
sleske

Và btw, tải xuống ftp thường không yêu cầu cài đặt ứng dụng khách ftp, vì hầu hết các trình duyệt có thể tải xuống bằng ftp (sử dụng URL ftp: //). Tuy nhiên, hầu hết các trình duyệt không thể tải lên bằng ftp.
sleske

3

Đối với tôi, một trong những cạm bẫy lớn nhất của FTP là không thể sử dụng lại các socket. FTP có 3 chế độ truyền, Luồng, Chặn và Nén, tuy nhiên hỗ trợ cho hai chế độ cuối không phổ biến. Trong chế độ mặc định và được sử dụng rộng rãi nhất (Luồng), dữ liệu về cơ bản được truyền dưới dạng một luồng byte thô và vì nó không có siêu dữ liệu về khi kết thúc với tệp đó, nó phải ĐÓNG kết nối khi hoàn thành. Điều này có nghĩa là nếu bạn chuyển 100.000 tệp qua FTP, bạn đang mở và đóng 100.000 kết nối TCP. Nếu điều đó không đủ tệ khi một trong những kết nối này bị đóng thì nó phải được đặt ở trạng thái TIME_WAIT trong một khoảng thời gian. Độ trễ mặc định cho cổng đó được sử dụng lại trên windows là 240 giây (4 phút). Để tắt tất cả, bạn chỉ có tối đa 5.000 cổng để sử dụng. Điều này làm cho FTP trở thành một cơn ác mộng khi chuyển một lượng lớn các tệp nhỏ. Bằng cách điều chỉnh sổ đăng ký, bạn có thể nhận được độ trễ thời gian hồi chiêu lên 30 giây và tăng các cổng người dùng tối đa lên khoảng 65.000, điều này sẽ giúp ích rất nhiều nhưng không có cách nào lý tưởng.

Mặt khác, HTTP có thể sử dụng lại cùng một ổ cắm để truyền nhiều tệp. Vì vậy, nếu bạn có nhiều tệp (đặc biệt là các tệp nhỏ hơn) thì HTTP sẽ là lựa chọn tốt hơn mà không nghi ngờ gì.

Nếu bạn chỉ làm một vài tệp lớn thì việc bạn sử dụng giao thức nào sẽ không thành vấn đề. Tôi nghĩ rằng FTP chỉ xuất hiện khi mọi người nghĩ đến việc chuyển tập tin nhưng điều đó chắc chắn không có nghĩa là nó tốt hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.