一、HTTP(超文本传输协议)
HTTP(Hypertext Transfer Protocol)是一种用于在Web浏览器和Web服务器之间传输数据的应用层协议。它是基于客户端-服务器模型的,客户端发起请求并接收服务器的响应。将其进行文字分割如下:超文本(Hypertext)、传输(Transfer)、协议(Protocol),其关系如下:
超文本主要包括文本、图片、视频等在传统文本语义上扩大的文本。
传输是由传输载体负责,把二进制数据包在两个终端之间进行传输,传输数据的一方叫做请求方,接收到的一方叫做应答方。
HTTP的工作原理如下:
-
客户端发送请求:客户端(通常是Web浏览器)向服务器发送HTTP请求。请求包括请求行、请求头和请求体。请求行包含请求方法(GET、POST等)和请求的URL地址。请求头包含各种信息,如用户代理、内容类型等。请求体可选,用于传输数据。
-
服务器处理请求:服务器接收到请求后,根据请求的URL和其他相关信息,执行相应的操作。操作可能包括读取文件、查询数据库、生成动态内容等。
-
服务器发送响应:服务器生成HTTP响应,包括响应行、响应头和响应体。响应行包含响应的状态码(例如200表示成功,404表示未找到等)。响应头包含各种信息,如内容类型、缓存设置等。响应体包含要传输给客户端的实际数据。
-
客户端接收响应:客户端接收到服务器的响应后,根据响应的内容进行相应的处理。如果响应包含HTML代码,则浏览器会渲染页面显示。
HTTP协议的特点包括:
- 简单:HTTP使用简单明了的文本格式进行通信,易于理解和调试。
- 无连接:每个请求都是独立的,服务器不会保留关于客户端的任何状态信息。
- 无状态:服务器不会记录之前的请求和响应,每个请求都是独立的,需要保持会话或状态的功能通过其他机制(如cookie)实现。 <