1、http定义
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)的超文本传输协议。全称Hyper Text Transfer Protocol(超文本传输协议)。
2、工作原理
HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。
Web服务器根据接收到的请求后,向客户端发送响应信息。
3、特点
(1)HTTP是无连接的:即限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
(2)HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
(3)HTTP是无状态的:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
4、消息结构
基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
http“客户端”(应用程序,eg:Web浏览器或其他客户端),连接到服务器向服务器发送一个或多个HTTP请求。
HTTP“服务器”也是一个应用程序(Web服务,eg:Apache Web服务器或IIS服务器等),接受客户端大的请求并向客户端发送HTTP相应数据。
5、请求方法
常见3种请求方法:get,post、head方法。
还有其他6种:options、put、patch、delect、trace和 connect方法。
get:请求指定页面信息,并返回实体主体。
post:向指定资源提交数据进行处理请求(eg:提交表单或上传文件),数据包含在请求体中。POST请求可能导致新的资源的建立或已有资源的修改。
head:类似get请求,只不过返回的响应中没有具体内容,用于获取报头
delect:删除数据。(可以通过get/post实现,用的不多)
put: 增加、放置数据。(可以通过get/post方法实现,用的不多)
options:允许从客户端查看服务器性能
trace:回显服务器收到的请求,主要用于测试或诊断
patch:对put方法的补充,用来对已知资源进行局部更新