协议是多人经过协商,最后达成一致的合约。html
HTTP协议是客户端与服务器之间通讯时所共同遵循一个合约。shell
HTTP协议是双方的:它定义了客户端如何请求服务器资源,服务器如何响应客户端请求。缓存
<!-- lang: shell --> GET /index.html HTTP/1.1 Host:www.baidu.com #GET:请求资源的方法 #/index.html:资源位置 #HTTP/1.1:请求资源的协议/版本 #Host:资源所在的服务器
<!-- lang: shell --> HTTP/1.1 200 OK Content-type:text/html Hello,World! #HTTP/1.1:响应资源的协议/版本 #200:状态码,表示资源状态 #OK:状态描述值 #Content-type:文本格式 #CRLF(换行符+回车符) #Hello,World!:响应主体
HTTP协议是构建在TCP/IP协议之上的,一次完整的HTTP通讯会打开一次TCP链接。 因此深刻理解HTTP协议,必须对TCP/IP协议有必定的了解。服务器
在现实的网络世界中,代理无处不在,对于客户端来讲,代理就是服务端,对于最终的服务端来讲,代理又是客户端。 代理的身份能够是双重的,因此在不少方面,代理做用很大:网络
对于一些服务器资源,服务端并不但愿客户端在重复请求时,每次都返回资源。这样当资源文件足够大、请求足够多时,服务器的压力会很大。 HTTP协议在缓存这一块有一个比较合理的交互规则:代理