HTTP ------ connection 为 close 和 keep-alive 的区别
2017-11-22 16:06
471 查看
keep-alive和close这个要从TCP握手讲起
HTTP请求是基于TCP连接的,TCP的请求会包含(三次握手,中间请求,四次挥手)
在HTTP/1.0时代,一个HTTP请求就要三次握手和四次挥手,当一个网页中包含大量的图片或者其它外部资源时,加载一个Document要很多个HTTP请求,也就意味着要多次三次握手和四次挥手,这样就造成了网络资源的浪费
到了HTTP/1.1的时候,通过请求头的connection字段用来申明,作用就是减少TCP握手次数,开始的三次握手后就可以进行多次HTTP正文请求,可以长时间的保持,也就是加载一个Document的时候,即使有大量的图片等,也只用进行一次握手,这样就大大的减少了传输量了。keep-alive就表示之前已经进行过握手,可以直接进行HTTP正文传输,close表示结束,我接下来没有东西了,可以进行四次挥手结束这个TCP连接了
HTTP请求是基于TCP连接的,TCP的请求会包含(三次握手,中间请求,四次挥手)
在HTTP/1.0时代,一个HTTP请求就要三次握手和四次挥手,当一个网页中包含大量的图片或者其它外部资源时,加载一个Document要很多个HTTP请求,也就意味着要多次三次握手和四次挥手,这样就造成了网络资源的浪费
到了HTTP/1.1的时候,通过请求头的connection字段用来申明,作用就是减少TCP握手次数,开始的三次握手后就可以进行多次HTTP正文请求,可以长时间的保持,也就是加载一个Document的时候,即使有大量的图片等,也只用进行一次握手,这样就大大的减少了传输量了。keep-alive就表示之前已经进行过握手,可以直接进行HTTP正文传输,close表示结束,我接下来没有东西了,可以进行四次挥手结束这个TCP连接了
相关文章推荐
- Connection: close(http协议短链接)和Connection: keep-alive(http协议长链接)有什么区别?
- Http 中Connection: close和Connection: keep-alive有什么区别?
- Http 中Connection: close和Connection: keep-alive有什么区别?
- Http 中Connection: close和Connection: keep-alive有什么区别?
- Http 中Connection: close和Connection: keep-alive有什么区别?
- Connection: close和Connection: keep-alive有什么区别?
- HTTP实现长连接(TTP1.1和HTTP1.0相比较而言,最大的区别就是增加了持久连接支持Connection: keep-alive)
- 转:Connection: close和Connection: keep-alive有什么区别?
- 有关 "HTTP协议是无状态的和Connection: keep-alive的区别" 的疑问
- HTTP_CONNECTION:Keep-Alive
- Java之HttpURLConnection的变态事: Keep-Alive
- IIS的Connection由改为close改为Keep-Alive
- http的keep-alive和tcp的keepalive区别
- HTTP(1)之持久链接(关键词:HTTP/持久链接/keep-alive/HTTP persistent connection/HTTP keep-alive/HTTP connection)
- 通过wireshark抓包来讲解HTTP中Connection: keep-alive头部的作用
- http的keep-alive和tcp的keepalive区别
- Keep-Alive与HttpURLConnection实现
- HTTP长连接 Persistent Connections与Connection: Keep-Alive
- "GET /cgi-bin/debug/HelloWeb.exe HTTP/1.1\r\nHost: localhost\r\nConnection: Keep-Alive\r\n\r\n"
- http的keep-alive和tcp的keepalive区别