title: 关于keep-alive这个问题?
desc: 我是做.net开发的，做http协议开发。我在对自己程序进行抓包的时候，发现在访问同一个host的时候，有时候不需要握手包链接直接发包，而有时候又需要先建立握手包才发包，虽然这个是程序自己封装的，编程的时候不用操心这个事儿。但是问题来了，我为了效率考虑，<br>1.如何在让我软件与网站一直建立http链接，也就是keepalive<br>2.这个keep alive的链接是对每一个httprequset而言，还是对当前程序进程而言，还是对整机而言，换言之。我建立多个链接，他们是公用一个握手包还是自己用自己实例的握手包链接<br><br><br>说点有点乱，请各位大虾不吝指教
topic: .NET
content: 呃，，，，你分清楚TCP和HTTP协议没？ HTTP协议没有什么握手包。Keep-Alive是通知服务器，在这个HTTP RequestResponset结束后，不要立即断开TCP连接（注意是TCP连接，和HTTP没有关系），后面的HTTP Request仍然可以通过这个TCP连接继续传送。但是！这只是个建议，服务器可能不支持，也可能忽略掉这个建议。也可能因为时间太久而直接断开TCP连接 总之，一切皆有可能。Keep-Alive只是通知服务器，您先别挂，一会儿可能还有活儿
answerer_tags: 大隐隐问答社区