http请求到rest服务

1、首先简单介绍一下http

请求报文和响应报文都是四个部分组成:请求行、请求头、空行、消息主体。

Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机

Referer:上一请求节点路径名

User-Agent:发送请求的浏览器类型、操作系统等信息

Accept:客户端可识别的内容类型列表,用于指定客户端接收那些类型的信息

Accept-Encoding:客户端可识别的数据编码

Accept-Language:表示浏览器所支持的语言类型

Connection:允许客户端和服务器指定与请求/响应连接有关的选项,例如这是为Keep-Alive则表示保持连接。

Transfer-Encoding:告知接收端为了保证报文的可靠传输,对报文采用了什么编码方式。

Content-Type:发送给接收者的实体正文的媒体类型

Content-Lenght:实体正文的长度

Content-Language:描述资源所用的自然语言,没有设置则该选项则认为实体内容将提供给所有的语言阅读

Content-Encoding:实体报头被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制。


2、http请求到服务端,经过容器处理,我们知道最后是交由servlet的service方法处理

httpServletRequest继承ServletRequest接口,实现了对请求报文的包装

同理,httpServletResponse继承了ServletResponse,对响应报文做了包装

3、一般开发过程中,我们常使用spring注解进行配置,如

通过查看 @RequestMapping注解,内含路径配置信息。

在spring容器初始化对RequestMapping注解进行扫描,之后包装成RequestMappingInfo

之后通过registerHandlerMethod方法注册进分发器。当请求达到时,去urlMap中匹配url并获取mapping实例,再去handlerMethods获取匹配HandlerMethod实例。


参考:

Http结构

Spring MVC — @RequestMapping原理讲解

你可能感兴趣的:(http请求到rest服务)