HTTP与FTP的疑惑
在学用php做一个主要功能是下载资料的网站,有一些概念性的疑惑
- web服务器上用php也可以实现下载文件,与ftp下载有何区别呢?
- web服务器上用php实现下载时的消耗由web服务器承担么?消耗大么?ftp呢?
- 另外,下载的内容有用户权限的控制?一般的思路是怎样的?
感觉概念模糊,这样问不知是否正确。
Answers
- 问题1:
- ftp下载和http下载文件使用的协议不同,http是为分发内容而设计的协议,ftp是为传输文件而定制的协议。
- 对于用户来说,ftp上传大文件更稳定,下载方面,现在有了断点续传工具,可能都差不多。
- 另外,ftp需要占用两个端口,一个下载端口一个控制端口,而http只要占用一个;
- http传输很好实现加密,ftp则不容易。
- 问题2:
- 下载时的消耗有CPU、内存、带宽
- php实现http下载时,较ftp耗资源,这点还取决于服务器软件和具体的硬件,你得放个大文件试试。
- 问题3:
- http实现权限控制思路,根据用户session决定用户权限级别,有权限在读取物理文件,通过http流发给用户,物理文件可以放在web目录之外。
- ftp内建了权限控制,只要在服务端设置用户和密码就行了。可以设置到目录级别,对文件的访问可以设置列表/读/写权限。