Http协议

HTTP(超文本传输协议)是建立在TCP传输协议之上的应用层协议,他目前主流是针对WEB开发,HTTP协议应用非常广泛,因此掌握HTTP协议的开发非常之重要。Netty是如何基于HTTP协议进行开发,那么使用Netty的HTTP协议也是异步非阻塞的。

Http协议的特点:

  简单:客户端请求服务器是,只需要指定URL和携带必要的参数即可

  灵活:Http协议允许传输任意类型的数据对象,传输内容由HTTP消息头中的Content-Type加以标记。

  无状态:Http协议是无状态的,无状态指的是协议对事务处理没有记忆能力,这意味着如果后续处理需要之前的信息, 则它必须重新获取。也从侧面体现http的设计是为了使网络传输更加的轻量级、敏捷、负载较轻。

Http协议组成部分:

  请求行

  请求头

  请求正文(实体内容)

Http协议请求方式:

  GET:获取Request-URl所标识的资源。

  POST:在Request-URl所标识的资源附加新的提交数据

  HEAD:请求获取由Request-URl所标识的资源的响应消息头

  PUT:请求服务器存储一个资源,并用Request-URl作为标识

  DELETE:请求服务器删除Request-URl所标识的资源

  TRACE:请求服务器回送收到的请求信息,主要是测试和诊断使用(@trace)

  CONNECT:保留将来使用

  OPTINONS:请求查询服务器的性能忙活着查询相关资源的选项和需求

Http协议的响应消息:响应消息由三部分组成:状态行、消息头。响应正文

响应状态种类:

  1xx:提示信息。表示请求已经接收继续处理。

  2xx:成功。表示请求已经接收成功。

  3xx:重定向。要完成的请求必须进行更进一步的操作

  4xx:客户端错误。可能是请求语法错误或者请求无法实现

  5xx:服务器端错误。服务器未能处理请求(可能内部出现错误)

常见相应状态码:

  200 OK: 成功

  400 Bad Request:错误的请求语法,不能被服务器理解

  401 Unauthorized:请求未经授权

  403 Forbidden:服务器收到请求,但请求被服务器拒绝

  404 Not Found:请求资源不存在

  405 Method Not Allowed:请求方式不被允许,如只支持get请求,但客户端使用了post请求

  500 Inernal Server Error:服务器发送不可预期的错误

  503 Server Unavailable:服务器当前不能处理客户端请求,一段时间后可能恢复正常

原文地址:https://www.cnblogs.com/shmilyToHu/p/7206862.html