http 协议
HTTP (Hyper Text Transfer Protocol)超文本传输协议。
一、HTTP 的工作原理:
HTTP 协议工作于客户端 - 服务端架构上 , 浏览器作为 http 客户端通过 url 向 http 服务端即 WEB 服务器发送所有请求,Web 服务器根据接受到的请求向客户端发送响应信息。HTTP 基于 TCP/IP 协议来传输数据。
二、http 的三点注意事项:
1、http 是无连接的,即限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后即断开连接,采用这种方式可以节省传输时间。
2、http 是无状态的,无状态是指 http 对事物的处理没有记忆能力,缺少状态意味着如果后面的处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,另一方面,在服务器不需要先前信息时它的应答就更快。
3、http 是媒体独立的,只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过 http 传送,客户端和服务器指定使用适合的MIME-type的内容类型。
三、http 请求方法
1、http1.0 定义了三种请求方法:GET,POST 和 HEAD 方法。
2、http1.1 新增了五种请求方法:OPTIONS、PUT、DELETE、TRACE和CONNECT 方法
序号 | 方法 | 描述 |
1 | GET | 请求指定的页面信息,并返回实体主体 |
2 | HEAD | 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取抱头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中,POST请求可能会导致新的资源建立或已有资源的修改 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档内容 |
5 | DELETE | 请求服务器删除指定页面 |
6 | CONNECT | HTTP1.1协议总预留给能将连接改为管道方式的代理服务器 |
7 | OPTIONS | 允许客户端查看服务器的性能 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断 |
四、http 状态码
1、http 状态码分类
分类 | 分类描述 |
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接受并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含错误语法或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
2、常见的 http 状态码
(1)200(OK) - 请求成功
(2)301(Moved Permanently) - 资源、网页等被永久转移到其它的 URL
(3)302(Found) - 临时移动,客服端应继续使用原有 URL
(4)304 (Not Modified), 所请求的资源未修改,服务器不会返回任何资源,客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。
(5)403(Forbidden), 服务器理解客户端的请求,但拒绝执行该请求。
(6)404(Not Found),服务器无法根据客户端的请求找到资源
(7)500(Internet server error)服务器内部错误,无法完成请求。
五、http消息结构
1、客户端请求消息
客户端发送一个 http 请求包括以下格式
(1)请求行(request line)
(2)请求头部(header)
(3)空行
(4)请求数据
以下是请求报文的一般格式:
以下为请求报文的示例:
2、服务器响应消息
服务器响应消息也由四个发部分组成
(1)状态行
(2)消息抱头
(3)空行
(4)响应正文
以下为响应消息的一般格式
以下为响应消息的示例:
本文为我学习了 http教程后做的一个简短总结,如有转载,请注明出处:http://www.cnblogs.com/chrdai/p/6868566.html