HTTP
协议是超文本传输协议的英文缩写。最初设计是为了提供发布和接受htm
页面的方法。HTTP
常是基于TCP/IP
协议之上的应用层协议。目前大部分服务都支持http1.1
版本,http 2.0
也在主流浏览器和服务器中逐步支持。
- 基于请求/响应模式
- 无状态
- 无连接
- 灵活
http
通常是规定了服务器端和客户端之间的通讯格式。通常是一个客户端发起一个请求报文,服务器去解析这个报文获取客户端发送的数据,然后再向客户端发送一个响应报文,客户端去解析这个报文。Http
是一个无状态的协议,这意味着服务器不会记得上个请求传送的信息,通常客户端和服务器端是借助cookie/session
机制来保持状态。
http
协议是使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。URI
是一个用于标识某一互联网资源名称的字符串, URI
的最常见的形式是统一资源定位符(URL
),经常指定为非正式的网址
URL
的通用文法是:
scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
http
的统一资源定位符将从因特网获取信息的五个基本元素包括在一个简单的地址中:
- 传送协议: 比如
http
- 层级URL标记符号: 为[
//
],固定不变 - 访问资源需要的凭证信息(可省略)
- 服务器:通常为域名,有时为IP地址
- 端口号:以数字方式表示,若为HTTP的默认值“:80”可省略
- 路径: 以“/”字符区别路径中的每一个目录名称
- 查询:GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题
- 片段: 以“#”字符为起点[2]