nc -c httpbin.org 80
GET /ip HTTP/1.0
Host: httpbin.org
使用nc 开启一个socket tcp,拨通以后开始输入连接的域名,端口,然后打出去tcp连接,建立三次握手以后,开始定义协议头
方法 径路 协议版本
Host: 主机域
HTTP/1.1 200 OK
Connection: close
Server: gunicorn/19.9.0
Date: Wed, 28 Nov 2018 02:36:52 GMT
Content-Type: application/json
Content-Length: 34
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Via: 1.1 vegur
{
"origin": "221.238.131.162"
}
关于http1.1 http1
HTTP/1.0
访问成功后,立即断开连接,效果等同于加上 Connection: close
HTTP/1.1
访问成功后,连接不会断开,效果等同于加上 Connection: keep-alived
,以保证连接可以复用,这种方式只有 HTTP 1.1
才支持。需要使用 Connection: close
控制命令断开连接,或者 Ctrl + C
中止访问。
发送GET
请求
nc -c httpbin.org 80
GET /get?a=1&b=2 HTTP/1.0
Host: httpbin.org
a=1 b=2是参数
发送POST
请求
nc -c httpbin.org
POST /POST HTTP/1.0
Host: httpbin.org
Content-length: 7
a=1&b=b
解释一下参数Content-length
是post
的长度