http协议相关知识整理

http协议的主要特点:

 

  • 简单快速(统一资源符uri固定,即一个url地址对应一个资源)
  • 无连接 (连接完成一次之后会自动断开,不会持久连接)
  • 灵活 (通过一个http协议可以完成不同类型数据传输)
  • 无状态  (HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快)
  • 支持B/S及C/S模式

http报文的组成部分:

http协议相关知识整理

请求行:包含请求http方法,页面地址,http协议和版本

请求头:紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息

空行: 用来分隔请求头和请求体

http方法:

get 获取资源

post 传输资源

put 更新资源

delete 删除资源

head 获得报文首部

connect  HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

options  允许客户端查看服务器的性能

 

http状态码:

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

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        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常</span></code></span>

持久连接:

    HTTP协议采用“请求问答”模式,当使用普通模式时,每个请求/应答客户和服务器都需要新建一个连接,完成后断开。

    当使用keep-alive模式(持久连接)时,使得客户端到服务器端的连接持久有效,当出现对服务器端后续请求时,避免重新建立连接。

注:持久连接仅在http 1.1协议下可以使用,1.0版本无法使用。

持久连接管线化:

    将持久连接情况下,多个资源连续请求响应的过程变成统一请求,统一响应。