1. 一个locationlocation = "/lua" {
content_by_lua '
ngx.say("hello world")
';
}
2.一个python执行post请求import socket
host = '<SERVER_IP>'
port = 8080
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host, port))
sock.send('''POST /lua HTTP/1.1
Host: %s
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0
Content-type: application/x-www-form-urlencoded
Content-length: 2\r\n\r\n''' % host)
sock.send('a')
print sock.recv(1024)
代码的意思就是向ngx_openrestypost一个数据,这个数据只有一个字节,但是我在头部却『谎称』我有连个字节的数据
按理说 print sock.recv(1024) 应该会被阻塞,因为服务器在等待我另外一个字节的数据
但是实验结果就是 print sock.recv(1024) 提前返回了。
请问这个是为什么呢?