HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写HTTP協议是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效使网络传输减少。它不仅保证计算机正确快速地传輸超文本文档还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等
HTTP是一个应用层协议,由请求和响应构成是┅个标准的客户端服务器模型。HTTP是一个无状态的协议
在TCP/IP协议栈中的位置
HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上这个时候,就成了我们常说的HTTPS
HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上这个时候,就成了我们常说的HTTPS
HTTP的请求响应模型
HTTP协议永遠都是客户端发起请求,服务器回送响应
这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候服务器将消息推送给客户端。
HTTP协议是一个无状态的协议同一个客户端的这次请求和上次请求是没有对应关系。
http协议的主要特点
http协议无状态协议无状态是指协议对於事物处理没有记忆能力。缺少记忆意味着如果后续处理需要前面的信息,则它必须重传这样可能导致每次传送的数据量比较大。
HTTP协議的无状态是指服务器的协议层无需为不同的请求之间建立相关关系它特指的是协议层。但这并不代表建立在HTTP协议之上的应用程序就无法维持状态应用层可以通过会话session来跟踪用户请求之间的关联性,服务器会为每一个会话对象绑定一个唯一的会话ID浏览器可以将会话ID记錄在本地缓存LocalStroage或者Cookie,在后续的请求带上这个会话ID服务器就可以为每个请求找到之前的会话状态。
HTTP早期版本中每个请求都会发起一个连接一个网页除了html还有其他静态资源以及诸多的API调用,如果每个请求都一个连接这是非常浪费服务器资源的,同时也让客户端的访问速度慢了不少