当我们在请求一个页面的时候,会显示服务器返回的资源,其中包含了HTML、CSS和JS,除此之外,服务器还可以返回图片、视频、字体和插件等类型的资源。这些资源全部由HTTP协议传输。
如果把HTTP协议看作是高速公路的话,那么在高速公路上跑的各种拉满不同货物的车辆就是资源。不同的车辆装载的货物不一样,因此他们的目的地也不一样。比如有些车辆拉的是生猪,是要送到屠宰场的;有些车辆拉的是西瓜,是要送到水果批发市场的。HTTP协议上传输的资源也是一样,类型不同,作用也不一样。数据就是其中的一种资源,数据是接口的本质,你可以把数据当作我们要运输的货物西瓜。首先我们可以选择不同的运输方式,走高速公路或走铁路,这就是数据传输协议的选择(如HTTP/SOAP),其次是西瓜的存放方式,是直接将西瓜堆积到车厢里,还是把每个西瓜放到盒子里再装箱,这就是数据格式的选择(如XML、JSON、csv)。
HTTP协议,是从万维网(www)服务器传输超文本到本地浏览器的传送协议。HTTP基于TCP/IP通信协议来传递数据(HTML文件、图片文件、媒体等)
HTTP协议工作于客户端-服务器架构上。浏览器作为客户端通过url向http服务端(即web服务器)发送请求。
HTTP协议的主要特点:1、无连接:无连接的含义是限制每次连接只能处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。2、媒体独立:只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过HTTP发送。3、无状态:指协议对事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
HTTP请求方法:POST:向指定资源提交数据进行处理请求(例如提交表单或上传文件),数据被包含在请求体中。post请求可能会导致新的资源的建立或已有资源的修改
GET:请求指定页面的信息,并返回实体主体
HEAD:类似于GET,只不过返回的相应中没有具体的内容,用于获取报头
PUT:从客户端向服务器传送的数据取代指定文档的内容
DELETE:请求服务器删除指定的页面
TRACE:请求服务器返回收到的请求信息,主要用于测试或诊断
OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项或需求
响应状态码:
当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求。
1XX:信息,服务器收到请求,需要请求者继续执行操作
2XX:成功,操作被成功接收并处理
3XX:重定向,需要进一步的操作以完成请求
4XX:客户端错误,请求包含语法错误或无法完成请求
5XX:服务器错误,服务器在处理请求的过程中发生了错误
200OK:请求成功,一般用于GET与POST请求。 302Fund:临时移动。资源只是临时被移动,客户端赢继续使用原有URL。 400Bad Request:客户端请求有语法错误,不能被服务器所理解。 403Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。 401Unauthorized:请求要求用户的身份认证。 404Not Found:服务器无法根据客户端的请求找到资源。
500Internal Server Error:服务器内部错误,无法完成请求。 503server Unavailable:由于超载或系统维护,服务器暂时无法处理客户端请求