HTTP介绍
1.HTTP是浏览器和服务器通过Internet进行相互通信的协议,其规范有W3C和IETF进行编制,使用纯文本格式,其常见版本是HTTP 1.1。
2.HTTP是客户端/服务器协议,有请求和响应构成。浏览器向一个特定的URL发送HTTP请求,URL对应的宿主服务器发回HTTP响应。
3.HTTP请求最常见的类型是GET请求(包含一个URL和一个头)。HTTP响应包括状态码,头和响应体。
压缩
1.在浏览器和服务器都支持的情况下,可以使用压缩来减少响应的大小。
2.浏览器可以使用Accept-Encoding头来声明支持压缩。服务器使用Content-Encoding头确认响应已经被压缩。
条件GET请求
1.浏览器缓存中保留组件的副本不确定有效的情况下会生成一个条件GET请求。(缓存的副本仍有效的情况下则直接使用已获得更小的响应和更快的用户体验)
2.一般情况下,缓存副本的有效性取决于最后的修改时间。响应中的Last-Modified头告知浏览器最后的修改时间,If-Modified-since头将最后的修改时间发给服务器。
3.如果组件从未修改过,服务器会返回一个“304 Not Modified"状态码并不在发送响应体。
Expires
在组件没有过期的情况下,浏览器只会使用缓存版本而不会使用任何HTTP请求。Expires头通过明确浏览器是否可以使用组件的缓存副本,来消除在客户端和服务器之间的一次往返确认,以便减少响应时间。
Keep—Alive
1.HTTP是构建在TCP之上。
2.一个Web页面中的多个HTTP请求都指向同一个服务器会导致效率很低。
3.每一个HTTP请求都会打开一个socket连接。
4.持久连接的引入解决了多对一请求服务器导致的socket连接低效率的问题。它可以使浏览器在一个单独的连接上进行多个请求。
5.浏览器和服务器使用Connection头来指对Keep-Alive的支持。
6.在管道被广泛应用之前,Keep-Alive是浏览器和服务器使用HTTP的socket连接最有效的方式。
网友评论