FTP协议其实就是主机和服务通过Socket进行固定格式的通信过程,当某客户端连接到FTP 服务器后,客户端发送指令:
<指令> [参数] <命令结束符:"\r\n">
服务会按以下格式返回:
<状态码> [参数或说明] <命令结束符:"\r\n">
例如以下是FileZilla FTP客户端与服务器通信的过程:
响应: 220-FileZilla Server version 0.9.43 beta
响应: 220-written by Tim Kosse (tim.kosse@filezilla-project.org)
响应: 220 Please visit http://sourceforge.net/projects/filezilla/
命令: AUTH TLS
响应: 502 SSL/TLS authentication not allowed
命令: AUTH SSL
响应: 502 SSL/TLS authentication not allowed
命令: USER newghost
响应: 331 Password required for newghost
命令: PASS **************
响应: 230 Logged on
// Create an array. var ar = ["ab", "cd", "ef", "ab", "cd"]; // 找到最后一个CD的位置 document.write(ar.lastIndexOf("cd") + "<br/>"); // 输出: 4 // 从正数第二个位置,搜索倒数第一个CD的位置 document.write(ar.lastIndexOf("cd", 2) + "<br/>"); // 输出: 1 // 从倒数第三个搜索最后一个ab的位置 document.write(ar.lastIndexOf("ab", -3) + "<br/>"); // 输出: 0
select { text-align: right }option { text-align: right }
var Persion = {美中不足的是stringify这个函数会把所有属性都进行转换,但有时侯我们希望排除一些属性,比如上面的 password。
username: "Kris",
password: "1234567890"
}
alert(JSON.stringify(Persion)) //{"username":"Kris","password":"1234567890"}
<img src="bg.png" data-src="img1.jpg" />应用
$(document).ready(function() {
$("img").unveil();
});
// math.ts
export function add(x, y) { return x + y }
export function subtract(x, y) { return x – y }
export default function multiply(x, y) { return x * y }
// myFile.ts
//只导入math中的add,subtract方法
import {add, subtract} from "math";
//将math中的默认导出方法命名为times
import times from "math";
var result = times(add(2, 3), subtract(5, 3));