Http原理
Http简介
-
Http协议,是超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传输协议。
-
Http协议作为TCP/IP模型中应用层的协议也不例外。Http协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就是HTTPS。
-
Http是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。
-
HTTP默认的端口是80,HTTPS的端口为443.
-
浏览网页是HTTP的主要应用,但是并不代表HTTP就只能应用于网页的浏览。Http是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地。
HTTP特点
-
简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
-
灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
-
HTTP0.9和1.0使用非连续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。Http1.1使用持续连接,不必为每个Web对象创建一个新的连接,一个连接可以传送多个对象,采用这种方式可以节省传输时间。
-
无状态:HTTP协议是无状态协议,无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则他必须重传,这可能导致每次连接传送的数据量增大。另一个方面,在服务器不需要先前信息时它的应答就较快。
-
**支持B/S及C/S模式
HTTP请求和响应
Http请求分为请求行、请求头部、空行和请求数据四个部分组成。
-
请求行:用来说明请求类型,用访问的资源以及所使用的HTTP版本。
-
请求头部:紧接着请求行之后的部分,用来说明服务器要使用的附件信息。
-
空行:请求头部后边的空行是必须得。
-
请求数据:也叫主体,可以添加任意的其它数据。
Http响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
-
状态行:由HTTP协议版本号,状态消息,状态消息三部分组成。
-
消息报头:用来说明客户端要使用的一些附加信息。
-
空行:消息报头后面的空行是必须的。
-
响应正文:服务器返回给客户端的文本信息。
HTTP工作原理
-
客户端连接到web服务器
-
发送HTTP请求
-
服务器接受并返回HTTP响应
-
释放连接tcp连接
-