HTTP的基本特性
- HTTP是简单的
虽然下一代HTTP/2协议将HTTP消息封装到了帧中,HTTP大体上还是被设计得简单易读。
HTTP报文能够被人读懂,还允许简单测试,降低了门槛。 - HT TP是可扩展的
在HT TP/1.0中出现的HTTP headers让协议扩展变得非常容易。 - HTTP是无状态,有会话的
在同一个连接中,两个执行成功的请求之间是没有关系的。这就带来了一个问题,用户没有办法在同一个网站中进行连续的交互。 - HTTP和连接
一个连接是由传输层来控制的,这从根本上不属于HTTP的范围。
HTTP能控制什么
以下是可以被HTTP控制的常见特性:
-
缓存
-
开放同源限制
-
认证
基本的认证功能可以直接通过HTTP提供,或用HTTP Cookies来设置指定的会话。
-
代理和隧道
通常情况下,服务器和/或客户端是处于内网的,对外网隐藏真实IP地址。因此HTTP请求就要通过代理越过这个网络屏障。 -
会话
HTTP报文是什么
HTTP报文,又称为HTTP消息,是服务器和客户端之间交换数据的方式。有两种类型的消息:请求,
由客户端发送用来触发一个服务器上的动作;响应,来自服务器的应答。
HTTP消息由采用ASCI编码的多行文本构成。在HTTP/1.1及 早期版本中,这些消息通过连接公开地
发送。在HTTP/2中,为了优化和性能方面的改进,曾经可人工阅读的消息被分到多个HTTP帧中。
HTTP请求报文
请求报文由以下元素组成: 一个HTTP的method、要获取的资源的路径、HTTP协议版本号、为服
务端表达其他信息的可选头部headers以及对于一些像POST这样的方法。
HTTP响应报文
响应报文由以下元素组成: HTTP协议版本号、一个状态码、一个状态信息、HTTP headers以及包
含获取的资源body。