HTTP协议基础知识

1、HTTP协议概念

HTTP(超文本传输协议)是建立在TCP协议基础上的传输层协议,它定义了客户端如何向服务端发请求,以及服务端如何响应客户端的请求。

HTTP协议本身是无状态的,服务器不知道两个请求是否来自同一个客户端,为了解决这个问题,通常采用Cookie或URL重写方式解决。

2、HTTP请求报文结构

请求报文包含请求行、请求头、请求体三部分组成,请求头和请求体之间有一个空行,格式如下:

image
image

其中最常用的请求方法是GET和POST,一般浏览器也都支持这两个方法。其中GET请求的请求体为空,查询参数通过请求行中的URL传递。POST请求参数可通过请求体传递,在请求头中可指定请求体内容类型,常用的有:application/x- www-form-urlencoded、multipart/form-data或application/json等。request.getParameter()、request.getInputStream()和request.getReader()

3、HTTP响应报文结构

HTTP响应报文也有状态行、响应头、响应正文几部分组成,响应头和响应正文之间有空行。

image
image

HTTP1.1协议中定义了5类状态码,由三位数字组成,第一个数字定义了响应的类别:

1XX提示信息,表示请求已被成功接收要处理;

2XX成功,表示请求已被正确处理,如200表示成功。

3XX重定向,请求资源被转移,要完成请求必须进一步处理。

4XX客户端错误,如404请求资源不存在,Spring MVC中@RequestBody注解的参数没传绑定失败会导致400错误。

5XX 服务端错误,服务器未能实现合法的请求,如500,服务器内部错误。

你可能感兴趣的:(HTTP协议基础知识)