## 1.简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP协议工作于客户端-服务端B/S架构为上。
浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
## 2.请求方法
GET:向指定资源发出显示请求
HEAD:和GET一样,但是不传回所有资源内容
POST:向指定资源提交数据,数据被包含在请求中
PUT:向指定位置上传
DELETE:删除所标识的资源
OPTIONS:这个方法可使服务器传回该资源所支持的所有HTTP请求方法。
用'*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作
## 3.URL简析
协议://域名:端口/虚拟目录/文件名?参数#锚点
例如:http://www.baidu.com:80/temp/index.php?tn=1#section1
## 4.请求信息
发出的请求信息包括以下几个:
* 请求行(例如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件)
* 请求头(例如Accept-Language: zh)
* 空行
* 其他消息体
## 5.协议状态码
* 1xx:指示信息--表示请求已接收,继续处理
* 2xx:成功--表示请求已被成功接收、理解、接受
* 3xx:重定向--要完成请求必须进行更进一步的操作
* 4xx:客户端错误--请求有语法错误或请求无法实现
* 5xx:服务器端错误--服务器未能实现合法的请求
### 常见状态码
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL 500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常