HTTP 超文本传输协议

每次创建好一个 Web 项目,直接在浏览器输入 http://localhost:8080 ;小程序和Android 也是通过 http://localhost:8080/ 访问到后台的方法。还记的计算机网络课上的内容,Http属于应用层,TCP(传输控制协议)、用户数据报协议(UDP) 属于传输层。

Http 超文本传输协议

      一种建立在 TCP 上的无状态连接,用于客户端和服务器之间的通信,规定了客户端和服务器之间的通信格式,包括请求 ( request ) 与响应 ( response ) 的格式。【可通过浏览器 [F12] ,右键开发者工具,选择 network 查看请求头与响应头 】

【工作流程】
      1、客户端(浏览器)发送一个 HTTP 请求,2、服务端(网站后台)收到请求开始处理,并将处理的结果返回给客户端(浏览器),3、客户端(浏览器)对结果进行处理并展示。
【请求方式】

  1. Web 浏览器请求:
    - 1-1. 用户输入地址后回车。
    - 1-2. 浏览器拼接 Http 报文并发送请求给服务器。
    - 1-3. 服务器处理请求后,发送响应报文给浏览器。
    - 1-4. 浏览器解析响应报文并使用渲染引擎显示到界面。
  2. APP 客户端请求:
    - 2-1. 用户点击按钮等控件或者自动触发网络请求。
    - 2-2. Android 代码调用拼装 HTTP 报文并发送到服务器。
    - 2-3. 服务器处理请求后发送响应报文给手机。
    - 2-4. Android 代码处理响应报文并作出相应的数据处理。
    【重点解释】
  3. 客户端:发送请求,获取资源。
  4. 服务器:接收处理请求,提供资源响应。
  5. 报文。
    【报文】
          报文是在 HTTP 应用程序之间发送的数据块,这些数据块以一些文本的元信息(meta 标签中的信息)开头,描述了报文的内容和含义。由 3 部分组成,①起始行:对报文进行描述。②首部(header):属性设置 。③主体。
  6. 请求报文。
    起始行:请求方法<method>、请求路径<path>、HTTP版本<HTTP version>
      部:包含许多键值对,对响应数据的一些格式信息。
      体:
  7. 响应报文。
    起始行:HTTP版本<HTTP version>、状态码<status code>、原因短句<reason-phrase>
      部:包含许多键值对,对响应数据的一些格式信息。
      体:
    { 请求方法 }
    常用的是 Get 以及 POST 。还有 PUT 、DELETE、HEAD 等方法。
# 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等。

  1. 404 是请求的资源不存在。
  2. 400 客户端请求错误。
  3. 500 服务器内部错误。
  4. 415 请求格式错误。
  1. 1xx :临时性消息。
    100:继续发送。
    101:正在切换协议。
  2. 2xx :成功性消息。
    200:OK。
    201:创建成功。
  3. 3xx :重定向问题。
    301:域名永久移动。
    302:暂时移动。
    303:内容未改变,请求被重定向到客户端本地缓存。
  4. 4xx :客户端错误。
    400:客户端请求错误,服务器不理解请求的语法。
    401:需要进行身份验证。
    403:服务器拒绝访问。
  5. 5xx :服务器错误。
    503:服务不可用。

报文的首部(Headers)

首部字段,主要分为以下几类:

  • 通用首部 ==> 提供了与报文相关的最基本的信息。
    在这里插入图片描述
  • 请求首部 ==> 在请求报文中有意义的内容
    在这里插入图片描述
    requestCode-1. Host:服务器的主机名与端口号,在目标服务器上定位子服务器的。
    requestCode-2. Accept:告诉服务器,客户端接收的类型。
  • 响应首部 ==> 在响应报文中有意义的内容。
    在这里插入图片描述
  • body ==> 描述 主题的内容。
    请求与响应都可以包含的内容:
    1、Content-Type:实际返回内容的类型。text/html(html文本)、x-www-form-urlencoded(纯文本)、multitype/form-data(二进制文件)、application/json,image/jpeg,application/zip。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值