HTTP的基本信息
- HTTP(超文本本传输协议)是浏览器与web服务器之间数据交互需要遵循的一种规范。
- 是由W3C组织推出的,专门用于定义浏览器与Web服务器之间数据交换的格式。
- HTTP是一种基于“请求”和“响应”的协议;当客户端与服务器建立连接后,由客户端(浏览器)向服务器端发送一个请求,被称作HTTP请求客户端与服务器建立连接后,服务器接收到请求后会做出响应,称为HTTP响应
- HTTP之所以在Web开发中占据重要的位置
1.支持主流软件架构:支持B/S、C/S软件架构。
2.简单快速:客户端向服务器请求服务时,只需传送请求方式和路径即可。常用的请求方式有;GET、POST等,每种方式规定了客户端与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程 序规模小,通信速度快。
3.灵活:HTTP允许传输任意类型的数据,传输的数据类型由Content-Type标记
HTTP消息
HTTP请求消息的概念:当用户在浏览器中访问某个URL地址、单击某个超链接或者提交表单时,浏览器都会向服务器发送请求数据,即HTTP请求消息。
HTTP响应消息的概念:服务器接收到请求数据后,将处理后的数据回送给客户端,这就是HTTP响应消息。
HTTP消息的概念:HTTP请求消息和HTTP响应消息统称为HTTP消息。
HTTP请求消息
每个请求头都是由头字段名称和对应的值构成,中间用冒号“:”和空格分隔。这些头字段大部分是HTTP规定的,每个都有特定的用途,一些应用程序也可以添加自定义的字段。
HTTP响应消息
- 响应状态行
- 1xx:成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
- 2xx:成功接收请求并已完成整个处理过程
- 3xx:为完成请求,客户端需进一步细化请求
- 4xx:客户端的请求有错误
- 5xx:服务器端出现错误
2.常见响应状态码
状态码 | 含义 | 说明 |
---|---|---|
200 | 正常 | 客户端的请求成功,响应消息返回正常的请求结果 |
301 | 永久移动 | 被请求的文档已经被移动到别处,此文档的新URL地址为响应头Location的值,浏览器以后对该文档的访问会自动使用新地址 |
302 | 找到 | 和301类似,但是Location返回的是一个临时的、非永久URL地址。 |
304 | 未修改 | 浏览器在请求时会通过一些请求头描述该文档的缓存情况,当服务器判断文档没有修改时,就通过304告知浏览器继续使用缓存,否则服务器将使用200状态码返回修改后的新文档 |
401 | 未经授权 | 当浏览器试图访问一个受密码保护的页面时,且在请求头中没有Authorization传递用户信息,就会返回401状态码要求浏览器重新发送带有Authorization头的信息 |
403 | 禁止 | 服务器理解客户端的请求,但是拒绝处理。通常由服务器上文件或目录的权限设置导致 |
404 | 找不到 | 服务器上不存在客户端请求的资源 |
500 | 内部服务器错误 | 服务器内部发生错误,无法处理客户端的请求 |
502 | 无效网关 | 服务器作为网关或者代理访问上游服务器,但是上游服务器返回了非法响应 |
504 | 网关超时 | 服务器作为网关或者代理访问上游服务器,但是未能在规定时间内获得上游服务器的响应 |