30/09/2018, 20:09
Quan Hệ : FTP Server, Socket, Web Server
Mọi người cho em hỏi, khi muốn download upload file, mình sử dụng giao thức ftp, ftp client down, up file lên ftp server, trong khi app mình deploy trên web server, vậy thì ftp server và web server có quan hệ ntn ạ?
Em cảm ơn!
Bài liên quan
FTP = File transfer protocol, là giao thức chuyên dùng để truyền file giữa máy client và máy server thông qua network. Có 2 giao thức truyền: passive và active.
FTP server # với Web server:
FTP server dựa trên giao thức FTP (FTPS & FTP) còn Webserver dựa trên giao thức HTTP (HTTP & HTTPS).
FTP là stateful connection nên ngoài cái connection giữ state giữa server và client, nó có 1 connection nữa chuyên để nhận gửi (passive là từ client đòi server gửi, còn active là server chủ động gửi xuống client). Có thể FTP client init rất nhiều connection transfer với FTP server để nhận gửi nhiều file cùng lúc.
Trong khi đó, HTTP là stateless (2 connection từ cùng 1 client sẽ độc lập hoàn toàn với nhau). Muốn biến nó thành stateful thì HTTP buộc phải dùng thêm token/cookie nhưng về bản chất vẫn là transfer data trên 1 connection. # với FTP, HTTP là multiplex control (kết hợp nhiều signal trong 1 lần truyền) nên việc manage nó qua NAT và firewall dễ hơn nhiều so với FTP (phải manage nhiều connection cho 1 lần tranmission)
Hai giao thức này đều có thể sử dụng đẩy file lên server và kéo file về client. Tuy nhiên, chỉ có HTTP client (là các trình duyệt) mới có khả năng render các file html thành tài liệu richtext (các browser hiện nay cũng đều support FTP, tức là nó cũng là FTP client)
Quan hệ giữa WebServer và FTPServer:
Em cũng hiểu hiểu rồi, để em tìm hiểu thêm ạ. Cảm ơn bác