HTTP协议基础笔记

1.定义

  • HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。它是互联网上最常用的协议之一,用于在 Web 浏览器和 Web 服务器之间传输超文本数据,如网页、图像、视频等。
  • 2.请求与响应模式

  • 客户端(通常是 Web 浏览器)向服务器发送一个 HTTP 请求,请求包含方法(如 GET、POST、PUT、DELETE 等)、URL、协议版本、头部信息和可能的请求体。
  • 服务器接收到请求后,根据请求的内容进行处理,并返回一个 HTTP 响应,响应包含协议版本、状态码、头部信息和可能的响应体。

3.连接建立与断开

  • HTTP 基于 TCP/IP 协议,在发送请求之前,客户端需要与服务器建立 TCP 连接。
  • 一旦请求和响应完成,连接可以被关闭以释放资源。然而,为了提高性能,HTTP/1.1 引入了持久连接(keep-alive),允许在同一个连接上发送多个请求和响应。

4.资源定位与请求方法

  • URL(Uniform Resource Locator,统一资源定位符)用于唯一标识 Web 上的资源。
  • 常见的请求方法有 GET(用于获取资源)、POST(用于提交数据以创建或更新资源)、PUT(用于更新资源)、DELETE(用于删除资源)等。

5.特点

  • 简单灵活
            HTTP 协议设计简单,易于实现和理解。

  • 无状态
            HTTP 是无状态协议,即服务器不会记住客户端的状态信息。

  • 可扩展性
            HTTP 协议具有良好的可扩展性,可以通过添加新的头部字段、方法和状态码来满足不断变化的需求。

6.HTTP 报文结构

  • 请求报文
            请求行:包含请求方法、URL 和协议版本。
            头部字段:包含各种关于请求的信息,如用户代理、接受的内容类型、缓存控制等。
            请求体(可选):用于提交数据,如表单数据、文件上传等。

  • 响应报文
            状态行:包含协议版本、状态码和状态描述。
            头部字段:包含各种关于响应的信息,如内容类型、内容长度、缓存控制等。
            响应体:包含服务器返回的资源内容。

7.常见状态码

  • 200 OK:表示请求成功,服务器返回了请求的资源。
  • 301 Moved Permanently:表示资源被永久移动到了新的 URL,客户端应该使用新的 URL 进行访问。
  • 302 Found:表示资源被临时移动到了新的 URL,客户端可以继续使用原来的 URL 进行访问,但下次请求时应该使用新的 URL。
  • 400 Bad Request:表示客户端发送的请求有语法错误或无法被服务器理解。
  • 401 Unauthorized:表示请求需要身份验证,客户端未提供有效的身份验证信息。
  • 403 Forbidden:表示服务器拒绝了客户端的请求,通常是由于权限不足或访问被禁止。
  • 404 Not Found:表示服务器无法找到请求的资源。
  • 500 Internal Server Error:表示服务器在处理请求时发生了内部错误。
  • 502 Bad Gateway:表示服务器作为网关或代理,从上游服务器接收到了无效的响应。

六、应用场景

  1. Web 浏览

    • HTTP 是 Web 浏览器与 Web 服务器之间通信的基础协议,用于获取网页、图像、视频等资源。
  2. API 接口

    • 许多 Web 应用程序提供基于 HTTP 的 API 接口,允许客户端通过发送 HTTP 请求来获取或操作数据。
  3. 移动应用

    • 移动应用通常也使用 HTTP 协议与服务器进行通信,以获取数据、提交用户输入等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿巴阿巴啊啊啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值