HTTP 定义
HTTP(HyperText Transfer Protocol,超文本传输协议)最早就是计算机与计算机之间沟通的一种标准协议,这种协议限制了通讯内容的格式以及各项内容的含义。
随着时代的发展,技术的变迁,这种协议现在广泛的应用在各种领域,也不仅仅局限于计算机与计算机之间,手机、电视等各种智能设备很多时候都在使用这种协议通讯,所以一般现在称 HTTP 为端与端之间的通讯协议。Web 属于 B/S 架构的应用软件,在 B/S 架构中,浏览器与服务器沟通的协议就是 HTTP 协议,作为一个合格的 Web 开发者,了解 HTTP 协议中约定的内容是一门必修课。
** 应用软件架构一般分为两类:**
B/S 架构:Browser(浏览器)←→ Server(服务器),这种软件都是通过浏览器访问一个网站使用,
服务器提供数据存储等服务。
C/S 架构:Client(客户端)←→ Server(服务器),这种软件通过安装一个软件到电脑,然后使用,
服务器提供数据存储等服务。
1、约定内容
请求 / 响应报文格式 请求方法 —— GET / POST 响应状态 —— 200 / 404 / 302 / 304 预设的请求 / 响应头
2、约定形式
客户端通过随机端口与服务端某个固定端口(一般为 80)建立连接 三次握手
客户端通过这个连接发送请求到服务端(这里的请求是名词)
服务端监听端口得到的客户端发送过来的请求
服务端通过连接响应给客户端状态和内容
请求头客户端想要告诉服务端的一些额外信息,以下为常见的请求头:
响应头服务端想要告诉客户端的一些额外信息,常见的有以下:
3、请求方式
GET:拿,获取 POST:发,给
4、状态码
状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。1xx:指示信息 —— 表示请求已接收,继续处理。2xx:成功 —— 表示请求已被成功接收、理解、接受。3xx:重定向 —— 要完成请求必须进行更进一步的操作。4xx:客户端错误 —— 请求有语法错误或请求无法实现。5xx:服务器端错误 —— 服务器未能实现合法的请求。
常见状态代码、状态描述的说明如下。200 OK:客户端请求成功。400 Bad Request:客户端请求有语法错误,不能被服务器所理解。401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用。403 Forbidden:服务器收到请求,但是拒绝提供服务。404 Not Found:请求资源不存在,举个例子:输入了错误的 URL。500 Internal Server Error:服务器发生不可预期的错误。503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。