HTTP
Get和Post
答:get和post都是http协议中与服务器交互的方法。
url地址用于描述一个网络上的资源,而get,post,put,delete等方法就对应着这个资源的查,改,增,删四个操作。
Get方法一般用于获取/查询资源信息。
Post一般用于更新资源信息。
二者区别为:
1.Get提交的数据会放在URL后,以问号?分隔URL和传输数据,参数以&相连,Post方法是把提交的数据放在HTTP包的body中
2.Get提交的数据大小有限制,因为浏览器对URL的长度有限制,POST方法提交的数据没有限制
3GET方法需要通过地址栏传值,POST方法通过提交表单传值
4GET方式提交数据会带来安全问题
长连接,短连接
答:HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。
TCP的keep-alive和http的keep-alive
答:TCP的keep alive是检查当前TCP连接是否活着;HTTP的Keep-alive是要让一个TCP连接活久点。它们是不同层次的概念。
TCP keep alive的表现:
当一个连接“一段时间”没有数据通讯时,一方会发出一个心跳包(Keep Alive包),如果对方有回包则表明当前连接有效,继续监控。
这个“一段时间”可以设置。