HTTP是什么?
- HTTP是什么?
我们见过的大多数网站可能都是“WWW”开头的,但是一个完整的地址是这样的:http://www.baidu.com/
HTTP的全称是HyperText Transfer Protocol(超文本传输协议),超文本是一种带有链接的文本,而传输协议是一种获取一些东西从一个地方到另一个地方的规则,这些规则是为了传输页面到你的浏览器。
- 客户端和服务端的关系
我们可以使用HTTP去抓取互联网上的任意网页上的信息,这些网页是来着互联网上的其他计算机,而这些计算机就是我们所谓的服务器。
互联网上到处都是客户端和服务器,客户端请求一些资源,例如网页、文件等等,服务器储存了这些信息,当你生成一个HTTP请求,这请求将通过互联网找到那个可以执行该请求的服务器,然后服务器会发生一个响应返回给你。
- REST
REST(Representational State Transfer)是一种具体状态传输,事实上,客户端与服务器的关系是REST的先决条件。
那什么是状态传输呢?你可以通过点击链接穿梭在一个网站中,因此你就制造了一次次的状态传输,每次都将带你到下一个页面,这个页面也就代表了应用程序的下一个状态。
当一些东西遵循了REST的规则,那么我们就称之为RESTful
- RESTful API
API(application programming interface),是一种代码协议,它是一种特定的方法,用于一个程序与一个应用程序的交互
一个RESTful的API或者Web服务是要满足以下3点的:
-
- 客户端与服务器的分离
- 请求与请求之间是不保留状态的
- 使用HTTP和HTTP方法
- Request 请求
请求的四种动作:
-
- GET:从特定的源获取信息
- POST:发送新的信息去特定的源
- PUT:更新特定源的现有信息
- DELETE:删除特定源上的现有信息
HTTP请求的组成:
-
- request line:告诉服务器是哪一种请求正在发生和寻找的资源是什么
- header:发送给服务器的附加信息,例如是哪个客户端发出的请求
- body:在GET请求中可以是空的,在POST和PUT的请求中包含了数据
- Response 响应
一次对服务器成功请求的结果被包含在一个响应中,这个响应是服务器返回给客户端的一个消息。这个来自服务器的响应包含了一个3位数字的状态代码(HTTP Status Codes)。这些代码是由1、2、3、4、5开头的。(http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81)
五种状态代码:
-
- 1xx:服务器正在执行你的请求
- 2xx:服务器响应成功
- 3xx:这类状态码代表需要客户端采取进一步的操作才能完成请求,通常需要重定向
- 4xx:客户端错误
- 5xx:服务端错误
HTTP响应的组成:
-
- response line:包含了HTTP状态代码
- header:包含了关于服务器和这个响应的信息
- body:响应的内容
- 数据格式
-
- XML(Extensible Markup Language)可扩展标记语言
|
-
- JSON(Java Script Object Notation)JS对象符号
通常JSON和XML是二选一的,JSON的数据格式很类似于JavaScript的对象
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】