📜  HTTP |放(1)

📅  最后修改于: 2023-12-03 14:41:59.986000             🧑  作者: Mango

HTTP

HTTP,即超文本传输协议(Hypertext Transfer Protocol),是一种用于传输文本、图像、音频、视频以及其他多媒体文件的应用层协议。HTTP的主要功能是在Web浏览器和Web服务器之间传递数据,使Web得以实现。

特点
  • 简单快速:客户端向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、POST、PUT、DELETE等。HTTP协议简单,使得实现HTTP协议的服务器程序规模小,因此通信速度很快。
  • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  • 无连接:HTTP协议是无连接协议,每次请求需要服务器端重新建立连接,处理完请求后立即断开连接,节省时间。
  • 无状态:HTTP协议是无状态协议,服务器不知道客户端是否是第一次请求。因此,服务器不能保存状态信息。
常用请求方法
  • GET:请求指定的页面信息,并返回实体主体。
  • HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。
  • POST:向指定资源提交数据进行处理,请求服务器对其进行处理。
  • PUT:将请求的数据存储在服务器上。
  • DELETE:请求服务器删除指定的页面信息。
报文格式

HTTP协议定义了客户端和服务器之间交换信息的格式,请求和响应的信息都是通过这种格式进行传递。

请求报文格式
请求行
请求头部
空行
请求实体

请求行包括请求方法、URL和HTTP协议的版本,如下所示:

GET /index.html HTTP/1.1

例如,如下所示是一个完整的请求报文示例:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
响应报文格式
状态行
响应头部
空行
响应实体

状态行包括HTTP协议的版本、状态码和状态码的原因短语。 例如,如下所示是一个完整的响应报文示例:

HTTP/1.1 200 OK
Date: Thu, 06 Oct 2022 09:41:16 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 301
RESTful API

REST,即REpresentational State Transfer,是一种用于构建Web服务的架构风格。RESTful API是基于HTTP协议上的REST架构,能够使用HTTP协议的GET、POST、PUT、DELETE等请求方法实现对资源的访问和操作。RESTful API的设计风格符合HTTP协议的语义,具有可读性和可维护性。

网络安全

HTTP协议的信息传输是不加密的,容易被黑客窃取和篡改。HTTPS是在HTTP协议上加密传输的协议,可有效解决安全问题。

参考资料