目录
引言
HTTP协议是一个基于请求和响应模式的应用层协议,通过浏览器和服务器进行数据交互,进行超文本(文本、图片、视频等)传输的规定;它主要关注的是数据内容;就比如我们要在淘宝上买东西,卖家[客户端]把物品通过顺丰[路径选择]等渠道送到买家[服务器]手里,买家和卖家只关注其中物品的信息,至于中间是谁送过去的,怎么送的,都不需要考虑;HTTP协议于1990年提出,经过几年的使用和发展,慢慢得到完善,现在有HTTP1.0、HTTP1.1、HTTP2.0等几个版本。
一、认识URL
URL就是我们平时所说的"网址",也叫资源唯一定位符,描述了互联网上资源的位置,它由协议名称、IP地址/域名、端口号、路径、查询字符串等几个重要部分组成,一个URL中的组成部分不是绝对的,会根据一些因素所改变。
- 域名:和IP地址是等价的关系,通过域名可以自动转化成一个对应的IP地址,域名会通过DNS机制自动转化成IP地址的。
- 路径:标识该服务器程序上的哪个资源。
- 查询字符串:表示该资源里面的一些具体内容。
二、HTTP协议的特点
- 支持客户端/服务器模式。
- 是一个纯文本的协议
- 简单快速,客户端向服务器发起请求时,只需要传送请求的方法和路径。
- 无连接:限制每次连接只处理一个请求,服务器处理完请求并且接收到应答后,立刻断开连接(这里就很有疑惑了,不是说HTTP是无连接的吗?实际上无连接强调的是HTTP协议的特性,他具体的数据传输是依靠传输层的TCP协议建立的连接,所以从本质上说HTTP协议就是无连接的,它传输的每一个请求都是相互独立的)。
- 无状态:无状态是指协议对于事务处理没有记忆能力,缺少状态就意味着后续处理如果需要前面的信息,就需要全部重传。
三、HTTP请求
一个HTTP请求是由请求行、请求报头、请求正文三个部分组成的。
1、请求行
请求行由请求方法、URL、HTTP版本号三