赞
踩
每次创建好一个 Web 项目,直接在浏览器输入 http://localhost:8080 ;小程序和Android 也是通过 http://localhost:8080/ 访问到后台的方法。还记的计算机网络课上的内容,Http属于应用层,TCP(传输控制协议)、用户数据报协议(UDP) 属于传输层。
一种建立在 TCP 上的无状态连接,用于客户端和服务器之间的通信,规定了客户端和服务器之间的通信格式,包括请求 ( request ) 与响应 ( response ) 的格式。【可通过浏览器 [F12] ,右键开发者工具,选择 network 查看请求头与响应头 】
【工作流程】
1、
客户端(浏览器)发送一个 HTTP 请求,2、
服务端(网站后台)收到请求开始处理,并将处理的结果返回给客户端(浏览器),3、
客户端(浏览器)对结果进行处理并展示。
【请求方式】
- 1-1. 用户输入地址后回车。
- 1-2. 浏览器拼接 Http 报文并发送请求给服务器。
- 1-3. 服务器处理请求后,发送响应报文给浏览器。
- 1-4. 浏览器解析响应报文并使用渲染引擎显示到界面。
- 2-1. 用户点击按钮等控件或者自动触发网络请求。
- 2-2. Android 代码调用拼装 HTTP 报文并发送到服务器。
- 2-3. 服务器处理请求后发送响应报文给手机。
- 2-4. Android 代码处理响应报文并作出相应的数据处理。
①起始行:对报文进行描述。②首部(header):属性设置 。③主体。
起始行:
请求方法<method>、请求路径<path>、HTTP版本<HTTP version>首
部:
包含许多键值对,对响应数据的一些格式信息。主
体:
起始行:
HTTP版本<HTTP version>、状态码<status code>、原因短句<reason-phrase>首
部:
包含许多键值对,对响应数据的一些格式信息。主
体:
# GET (幂等操作)
Get-1. 报文中不发送主体,主在请求资源。
Get-2. 通过 @Path 获取参数。
# POST
Post-1. 报文中的主体内容发送给服务器的内容,主在增加和修改。
Post-2. 通过 @Field 获取参数。
# PUT (幂等操作)
Put-1. 报文中的主体内容发送给服务器的内容,主在修改。
Put-2. 通过 @Path 获取参数。通过 @Field 获取参数。
# DELETE (幂等操作)
Delete-1. 报文中不发送主体,主在删除资源。
Delete-2. 通过 @Path 获取参数。
# HEAD
Head-1. HEAD 与 GET 的使用相同,报文中没有主体。
Head-2. 主在用于下载需求,返回的 Headers 中有下载内容的大小,可用于显示进度。
幂等操作:请求一次和请求多次的结果是一样的。
状态码是对结果进行类型化的描述的,大致分1、2、3、4、5等5类。
接触最多的状态码就是 404,其次还有 400、500、415等。
- 404 是请求的资源不存在。
- 400 客户端请求错误。
- 500 服务器内部错误。
- 415 请求格式错误。
100:继续发送。
101:正在切换协议。
200:OK。
201:创建成功。
301:域名永久移动。
302:暂时移动。
303:内容未改变,请求被重定向到客户端本地缓存。
400:客户端请求错误,服务器不理解请求的语法。
401:需要进行身份验证。
403:服务器拒绝访问。
503:服务不可用。
首部字段,主要分为以下几类:
requestCode-1. Host:服务器的主机名与端口号,在目标服务器上定位子服务器的。
requestCode-2. Accept:告诉服务器,客户端接收的类型。
请求与响应都可以包含的内容:
1、Content-Type:实际返回内容的类型。text/html(html文本)、x-www-form-urlencoded(纯文本)、multitype/form-data(二进制文件)、application/json,image/jpeg,application/zip。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。