前言
经过学习试着对课上内容做一个简单的总结。

HTTP 请求部分
- HTTP请求是指从客户端到服务器端的请求消息。包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。
HTTP发送请求信息内容:1) 请求行:是一个ASCII文本行,由三个标记组成--请求的HTTP方法、URL、HTTP版本,之间用空格分开{GET /lovobook/index.html HTTP/1.0}; 2) 请求头:HTTP协议使用HTTP头来传递请求的元信息。HTTP头是一个用冒号分隔的名称/值对,冒号前面是HTTP头发名称,后面是HTTP的值; 3) 空行: 发送回车符和退行,通知服务器一下不再有请求头; 4) 消息体: HTTP请求中带有查询字符串时,如果是GET方法,查询字符或表单数据附加值请求行中,则消息体中就没有内容;如果是POST方法,查询字符串或表单数据及添加在消息体中。
- 用 Chrome 发请求
打开 Network
地址栏输入网址
在 Network 点击,查看 request,点击「view source」
点击「view source」
可以看到请求的前三部分了
如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到
HTTP 响应部分
- HTTP回送响应信息内容:
1) 状态行:以一个状态行开头。状态行有HTTP协议版本、响应状态码和响应描述组成,之间用空格分隔; 2) 响应头:与请求头一样; 3) 空白行:最后一个响应头之后是一个空行,发送回车符和退行,表明以下不再有响应头; 4) 消息体:要发送回BS的HTTP文档或其它要显示的内容等。Web服务器把要发送给客户端的文档信息放在消息体中。
- 用 Chrome 查看响应
打开 Network
输入网址
选中第一个响应
查看 Response Headers,点击「view source」,点击「view source」,点击「view source」
你会看到响应的前两部分
查看 Response 或者 Preview,你会看到响应的第 4 部分
如何使用 curl 命令
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指定CA证书 (SSL)
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