http协议
http协议简介
hyperText Transfer Protocol,超文本传输协议
- 是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。
- 是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。
http工作原理
http协议工作与客户端-服务器架构为上,浏览器作为http客户端通过URL向http服务器发送所有请求。
http三点注意事项:
- http是无连接: 无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
- http是媒体独立的: 这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型数据都可以通过http发送。客户端以及服务器指定使用适合的MIME-type内容类型。
- http是无状态: http协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
http消息结构
http是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
- 一个http“客户端”是一个应用程序(web浏览器或其它任何客户端),通过连接到服务器达到向服务器发送一个或多个http的请求的目的。
- 一个http“服务器”同样是一个应用程序(通常是一个Web服务,如Apache Web 服务器或IIS服务器等),通过接受客户端的请求并向客户端发送http响应数据。
- http使用统一资源标志符(Uniform Resource Identifiers,URI)来传输数据和建立连接。
客户端请求消息
客户端发送一个http请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行、请求数据四个部分组成,下图给出了请求报文的一般格式。
请求报文的一般格式
服务器响应信息
http响应也由四个部分组成,分别是:状态行、消息报头、空行、响应正文。
响应报文的一般格式
http请求方法
根据http标准,http请求可以使用多种请求方法。
http1.0定义了三种请求方法:GET、POST、HEAD。
http1.1新增了五种请求方法:OPTIONS、PUT、DELETE、TRACE、CONNECT。
http请求方法