Http协议的解析
什么是 http 协议
什么是HTTP呢?
超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议;
HTTP是万维网的数据通信的基础,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTTP或者HTTPS协议请求的资源,由统一资源标识符(Uniform Resource Identifiers,URI)来标识;
- URI 统一资源标识符,就相当于命名,对这个东西进行标识。比如坤坤,我们都知道是哪个篮球少年。
- 标识一个东西,还可以通过定位,比如那时在那个演播室打篮球的人是坤坤,这就是 URL 统一资源定位符.
- URL 是 URI 的一种实现方式,是它的子集。
HTTP 协议的参与者是一个客户端(用户)和服务端(网站)。什么是客户端和网站?
客户端:
- 通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80);
- 我们称这个客户端为用户代理程序(user agent);比如浏览器是用户的代理。
- 作为了人类总不能发送请求吧,而人类可以让浏览器发送请求,所以浏览器是用户的代理程序。
服务器:
- 响应的服务器上存储着一些资源,比如HTML文件和图像。
- 我们称这个响应服务器为源服务器(origin server)
HTTP的组成
一次HTTP请求主要包括:请求(Request)和响应(Response)
请求:
- 请求行
- 请求头,请求首部
- 空行
- 请求体