HTTP协议简介
超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。
特点:
-
遵循 请求-响应 的模式:
每次都是有客户端主动发起请求,服务器针对接收到的请求来给出响应,服务器不会主动将信息推送给客户端。(如果需要服务器实时主动推送信息,你需要考虑使用socket) -
无状态:
http协议是无状态的,每次只对这次请求进行响应,对于发送过的请求或响应都不做持久化处理。 -
无链接:
请求一次相应一次,响应完服务端和客户端就中断了,不会和每个用户建立长久的连接。(现在的http协议有了优化,处理完一次请求后不会直接断开,而是等几秒钟,等着用户有后续的操作,如果用户在这几秒钟之内有新的请求,那么还是通过之前的连接通道来收发消息。如果过了这几秒钟用户没有发送新的请求,那么就会断开连接。因为建立连接是耗时的,这样可以提高效率,减少短时间内建立连接的次数。)
HTTP请求
http请求由三部分组成,分别:请求行、消息报头、请求正⽂。
具体见下图图解:
HTTP响应
HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正⽂。
具体见下图图解:
拓展:
HTTP协议脑图分享:https://www.processon.com/view/link/5e8a19eee4b03231c717b108
URL和URI的区别?
URI = Universal Resource Identifier 统一资源标志符,用来标识资源的一个紧凑字符串。
URL = Universal Resource Locator 统一资源定位符,一种定位资源的主要访问机制的字符串。
简单的来说URL是URI的子集,是一种URI中以资源定位地址来标示唯一资源的实现。