经过学习试着对课上内容做一个简单的总结。
1) 请求行:是一个ASCII文本行,由三个标记组成--请求的HTTP方法、URL、HTTP版本,之间用空格分开{GET /lovobook/index.html HTTP/1.0};
2) 请求头:HTTP协议使用HTTP头来传递请求的元信息。HTTP头是一个用冒号分隔的名称/值对,冒号前面是HTTP头发名称,后面是HTTP的值;
3) 空行: 发送回车符和退行,通知服务器一下不再有请求头;
4) 消息体: HTTP请求中带有查询字符串时,如果是GET方法,查询字符或表单数据附加值请求行中,则消息体中就没有内容;如果是POST方法,查询字符串或表单数据及添加在消息体中。
1) 状态行:以一个状态行开头。状态行有HTTP协议版本、响应状态码和响应描述组成,之间用空格分隔;
2) 响应头:与请求头一样;
3) 空白行:最后一个响应头之后是一个空行,发送回车符和退行,表明以下不再有响应头;
4) 消息体:要发送回BS的HTTP文档或其它要显示的内容等。Web服务器把要发送给客户端的文档信息放在消息体中。
curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE及LDAP等协议。curl支持HTTPS认证,并且支持HTTP的POST,PUT等方法,FTP上传,kerberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。
curl的常用选项:
复制代码
1 -A/–user-agent
2 -basic 使用HTTP基本验证
3 –tcp-nodelay 使用TCP_NODELAY选项
4 -e/–referer
5 –cacert
6 –compressed 要求返回是压缩的形势,如果文件本身为一个压缩文件,则可以下载至本地
7 -H/–header
8 -I/–head 只显示响应报文首部信息
9 –limit-rate
10 -u/–user <user[:password]>设置服务器的用户和密码
11 -0/–http1.0 使用HTTP 1.0
示例
curl -s -v -H “Frank: xxx” – “https://www.baidu.com"
请求的内容为
GET / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: /
Frank: xxx
1.ls
即list directory contents。ls命令能够列出当前目录下的所有内容。
2.cat
即concatenate files and print on the standard output。一次显示整个文件内容。
3.mv
即move (rename) files。用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
4.touch
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
explainshell.com 是一个帮助你解释命令行的网站,它会分析命令的帮助文档,然后根据你想查询的命令参数来抽取对应的解释,然后简洁易懂地显示出来。
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
1 | $ hexo new "My New Post" |
More info: Writing
1 | $ hexo server |
More info: Server
1 | $ hexo generate |
More info: Generating
1 | $ hexo deploy |
More info: Deployment