先来看看一次完整的HTTP请求流程
HTTP简介
1.HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。
2.HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP 工作原理
1. HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
2.Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。
3.Web服务器根据接收到的请求后,向客户端发送响应信息。
4.HTTP默认端口号为80,但是你也可以改为8080或者其他端口。
HTTP消息结构
1.HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息.
2.HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成。
请求行
分为三个部分:请求方法、请求地址和协议版本。
- 请求方法:HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。
- 请求地址:由协议,主机,端口,路径组成
- 版本协议:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1
请求头部
请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。
空行
请求头部的最后会有一个空行,表示请求头部结束,接下来为请求数据,这一行非常重要,必不可少。
请求数据
可选部分,比如GET请求就没有请求数据。
服务器响应消息
HTTP响应也由四个部分组成,分别是:状态行、响应头部、空行和响应正文。
状态行
由协议版本,状态码,状态码描述三部分组成。其中协议版本与请求报文一致,状态码描述是对状态码的简单描述。
- 一些常见的状态码为:
200 - 服务器成功返回网页
302 - 跳转到响应头location属性指定地址
400 - 客户端请求语法有误,不能被服务器识别
403 - 服务器收到请求,但拒绝服务(认证失败)
404 - 请求的网页不存在
500 - 服务器内部错误
503 - 服务不可用
响应头部
与请求头部类似,为响应报文添加了一些附加信息。
响应正文
用于存放需要返回给客户端的数据信息。
————愿你在迷茫时,坚信你的珍贵,爱你所爱,行你所行,听从你心,无问西东。