这个话题源于一次客户端与服务器交互的联调。下面以java为例来说明。
首先要分清的是,在客户端发起请求到服务器端收到请求处理完毕返回信息再到客户端收到反馈,这中间经历了哪些环节:
- 首先,客户端构造了一个HttpRequest,里面包含了需要提交到服务器端的数据,客户端提交该HtteRequest(比如通过HttpClient对象提交)。
- 接着,服务器端收到此请求,在服务器端对应的对象为HttpServletRequest
- 然后,服务器端根据请求处理后,生成了一个HttpServletResponse,返回给客户端
- 客户端展现服务器端返回的数据
清楚了这几个环节,自然也就可以得知,我们熟悉的HttpServletRequest和HttpServletResponse是服务器端的对象,而HttpRequest是客户端的对象,切不可搞混。他们的Content-Type都遵循RFC2616中定义的规范,但对于不同的对象,他们的Content-Type是不同的,例如,对于HttpRequest/HttpServletRequest对象,在最常见的表单提交中,Content-Type通常是application/x-www-form-urlencoded或multipart/form-data,前者通常用于没有附件上传的表单,后者通常用于需要上传附件的表单,详阅RFC1867;而HttpServletResponse的Content-Type通常是text/html、application/json等。
ok,理解清楚了数据交互的过程,也就不难理解他们的Content-Type为何不同了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29867/viewspace-692485/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29867/viewspace-692485/