HTTP:HyperTextTransferProtocol是一种超文本传输协议,协议用在本地浏览器和服务器之间通信
HTTP基于TCP/IP传输数据,如图片,HTML文件
1、HTTP协议特点:
无连接:每次连接只处理一次请求,服务器完成客户端的请求,收到客户端应答,就断开连接
无状态:对事务没有记忆能力,操作后续工作不需要前面的信息
2、HTTP协议通信:本地浏览器发出请求,HTTP服务器接收到请求,通过CGI Program 与数据库通信
3、url: uniform resources location(统一资源定位符)
比如:http://www.baidu.com:80/query/2015/10/9/?keyword=美女&;type=图片
协议://主机号:端口/路径/?参数
协议:http
主机号:www.baidu.com
端口号:80
路径:query/2015/10/9
参数:keyword=美女&;type=图片
uri:uniform resouces Identifier(统一资源标识符),uri是url的超集
4、HTTP请求
请求内容包括:请求行、请求头、请求空行和请求数据
5、HTTP请求方法
GET: 请求指定的页面信息,并返回实体主体
HEAD: 只请求页面的首部
POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体
PUT: 从客户端向服务器传送的数据取代指定的文档的内容
DELETE: 请求服务器删除指定的页面
CONNECT: 保留将来使用
注:GET 和 POST比较常见
GET请求将提交的数据放置在HTTP请求协议头中,POST提交的数据则放在实体数据中
6、HTTP响应
响应内容:响应行、响应头、响应正文
响应头:
public: 可以用cache内容回应给任何用户
private: 只能用缓存回应先前请求该内容的那个用户
no-cache: 可以缓存,但是只有跟web服务器验证了其有效后,才能返回给客户端
max-age: 本响应包含的对象的过期时间
no-store:不允许缓存
7、响应状态码
常见响应状态码:
200:客户端请求成功
400 :客户端请求有语法错误,不能被服务器所理解
401:请求未经授权,这个状态码必须和WWW-Athenticate包头域一起使用
403:服务器收到请求,但拒绝提供服务
404:请求资源不存在,url错误
500:服务器发生不可预期的错误
503:服务器当前不能处理客户端的请求,一段时间后可能回复正常