Http请求和响应报文基础知识

一 HTTP请求报文(http://en.wikipedia.org/wiki/List_of_HTTP_header_fields)

请求报文由三部分组成:请求行,请求头和请求体。

请求行:请求方法(如POST),请求URL地址(和请求头Host属性组成完整URL),HTTP协议及版本。

请求头:包含若干个属性,格式为“属性名:属性值”。

请求体:以param1=value1&param2=value2的键值对形式编码成的格式化串,承载多个请求参数的数据。除了请求体外,请求URL也可以通过“?param1=value1&param2=value2”的方式传递数据。

常见的HTTP请求头属性:

Accept:客户端接收的响应类型,可以为一个或多个MIME类型的值。

Cookie:客户端Cookie,可以将jsessionid放在Cookie中。

Referer:表示请求是从哪个URL过来的。

Cache-Control:指定在整个请求响应链中必须遵守的缓存机制。

Content-Length:请求体得字节数。

服务器端通过HttpServletRequest读取请求头。其中一些典型的请求头属性,例如Cooke,Locale和ContentLength等有直接读取的API。对于HttpSession,是读取请求头Cookie属性中jsessionid的值,然后在服务器端一个会话Map中根据jsessionid获取HttpSession对象,实现会话管理。

二 HTTP响应报文

HTTP响应由三部分组成:响应行,响应头和响应体。

响应行:Http协议及版本,响应状态吗及描述。

响应头:同样由多个属性组成。

响应体:返回的资源。

响应状态吗:(http://en.wikipedia.org/wiki/List_of_HTTP_status_codes )

1XX:收到请求,正在处理等。

2XX:处理成功,处理完成等。如200 OK处理成功。

3XX:重定向等。如303 See Other,重定向到Location中;303 Not Modified。

4XX:发生错误,责任在客户端。如404 Not Found。

5XX:发生错误,责任在服务端。如500 Internal Server Error。

常见的HTTP响应头属性:

Cache-Control:设置缓存策略,在缓存时间内再次访问资源应该直接从客户端缓存中返回内容,具体实现靠客户端实现。

ETag:服务器资源的具体版本,只在统一URL下,比较ETag才有意义。

Last-Modified:所请求实体的最后修改日期。

Location:一个URL,让客户端重定向。

Set-Cookie:服务器设置客户端的Cookie。

服务器通过HttpServletResponse的API写响应头的属性。如Cookie,Location等提供了直接操作的API。

时间: 2024-12-16 00:07:54

Http请求和响应报文基础知识的相关文章

#WEB安全基础 : HTTP协议 | 0x10 请求和响应报文重点结构及常见头部

你需要认识一些常见的头部以及了解报文的详细结构 请求报文的请求行 GET/HTTP/1.1 响应报文的响应行 HTTP/1.1 200 OK 想必这些大家都知道了 请求 我访问一个页面 Host //访问的域名. \r\n //就是CR-LF Connection //请求保持的时间 User-Insecure-Requests : 1 //服务器可以读懂客户端发出的信息,它以后会用https而不是http User-Agent //客户端的相关信息(系统版本,浏览器版本) Accept //客

请求、响应报文

HTTP:  通信双方如果想要通信就必须遵循一定的规则,我们把这个规则称之为HTTP协议! 报文:  HTTP协议通信的内容我们称之为:报文  报文格式: 报文首部 空行 报文主体 请求报文 请求首部:请求首行和请求头部 空行 请求主体 响应报文: 响应首部 空行 响应主体 报文分类: 请求报文:浏览器发送给服务器端的内容 get请求 GET /Hello/index.jsp HTTP/1.1  Accept: */* Accept-Language: zh-CN User-Agent: Moz

http协议入门(二)请求和响应报文的构成

由于新公司上班路途有点远,所以早上地铁上闲来无事,就温习了一下http协议的一些知识,这里就说说关于关于http协议中的几种请求数据的类型吧,不多说,开更...... 之前的一篇随笔中有提到,http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之前不会发送响应 下面先来说说请求的构成: 1)请求方法URI协议/版本  2)请求头(Request Hea

IE请求和响应报文解释

<!-- IE请求报文解释 --> <!-- 请求行  请求头信息:头名称+值 空行 请求体.get请求没有请求体,有请求行 --> GET /Hello/index.jsp HTTP/1.1 <!-- 浏览器支持的资源类型 */*表示支持所有 --> Accept: text/html, application/xhtml+xml, */* <!-- **浏览器语言 --> Accept-Language: zh-CN <!-- *****浏览器和操

HTTP请求、响应报文格式

HTTP请求报文格式: HTTP请求报文主要由请求行.请求头部.请求正文3部分组成 1,请求行 由3部分组成,分别为:请求方法.URL(见备注1)以及协议版本,之间由空格分隔 请求方法包括GET.HEAD.PUT.POST.TRACE.OPTIONS.DELETE以及扩展方法,当然并不是所有的服务器都实现了所有的方法,部分方法即便支持,处于安全性的考虑也是不可用的 协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1 2,请求头部 请求头部为请求报文添加了一

三、http协议—请求和响应报文的构成

http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之前不会发送响应 下面先来说说请求的构成: 1)请求方法URI协议/版本  2)请求头(Request Header)  3)请求正文 下面是一个请求的例子: GET/sample.jspHTTP/1.1 Accept:image/gif.image/jpeg,*/* Accept-Language:

http协议(二)请求和响应报文的构成

http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之前不会发送响应 下面先来说说请求的构成: 1)请求方法URI协议/版本  2)请求头(Request Header)  3)请求正文 下面是一个请求的例子: GET/sample.jspHTTP/1.1 Accept:image/gif.image/jpeg,*/* Accept-Language:

HTTP请求报文和响应报文

HTTP报文分为请求报文(request message)与响应报文(response message). 一.报文的组成部分 一个HTTP报文由3部分组成,分别是: (1).起始行(start line) (2).首部(header) (3).主体(body) 示例: HTTP/1.0 200 OK //起始行 Content-type:text/plain //首部 Content-length:19 //首部 Hi I'm a message! 主体 1.1 请求报文与响应报文的格式 请求

HTTP基础知识(二)

接着上一章的内容:HTTP基础知识(一) 二.简单的HTTP协议 1.客户端:请求访问文本或图像等资源的一端称为客户端: 服务器端:提供资源响应的一端 2.以百度为例子 这是请求头: 在起始行开头的HTTP/1.1表示服务器对应的HTTP版本,GET表示请求的方法,第二行开始的就是内容实体. 请求报文详解 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集. A