HTTP的基本概念
HTTP(HyperText Transfer Protocol)是一种用于传输超文本数据的应用层协议,是互联网上的一种通信协议。HTTP 协议定义了客户端和服务器之间的通信格式和规则,包括请求方法、请求头、响应状态码等元素,用于实现 Web 应用程序的数据传输和交互。
- 请求和响应:HTTP 协议是一种请求-响应协议,客户端向服务器发送请求,服务器向客户端返回响应。
- 请求方法:HTTP 协议定义了多种请求方法,包括 GET、POST、PUT、DELETE 等,用于指定客户端的请求类型和目的。
- URL:客户端通过 URL(Uniform Resource Locator)来指定服务器上的资源,URL 包括协议、主机名、端口号和资源路径等元素。
- 请求头:HTTP 请求中包含了请求头,用于指定客户端的请求信息,例如浏览器类型、请求的 MIME 类型等。
- 请求体:HTTP 请求中的请求体用于传输客户端提交的数据,例如表单数据、文件上传等。
- 响应状态码:HTTP 响应中包含了响应状态码,用于指示服务器处理请求的结果,例如 200 表示成功,404 表示未找到资源等。
- 响应头:HTTP 响应中包含了响应头,用于指定服务器返回的响应信息,例如 MIME 类型、缓存控制等。
- 响应体:HTTP 响应中的响应体用于传输服务器返回的数据,例如 HTML 页面、图片、视频等。
HTTP 协议是一种用于传输超文本数据的应用层协议,定义了客户端和服务器之间的通信格式和规则,包括请求方法、请求头、响应状态码等元素。HTTP 协议是 Web 应用程序的基础,广泛应用于 Web 浏览器、服务器、移动应用程序等领域。
CDN
CDN,全称是“Content Delivery Network”,翻译过来就是“内容分发网络”。它应用了 HTTP 协议里的缓存和代理技术,代替源站响应客户端的请求。介绍一个使用的场景,在秒杀项目中,大致分为3个阶段:秒杀前,秒杀过程中查询商品数量并减少商品数量和秒杀后订单的生成,其中在秒杀前,大量用户会频繁访问秒杀的界面,由于此时秒杀没有开始,逻辑上不应该让客户端请求频繁访问数据库,所以我们可以使用CDN缓存秒杀的静态界面,可供客户端请求的时候直接返回数据,从而减轻数据库的压力。