to:zhangsan
from:李四
address:山东
HTTP: 通信双方如果想要通信就必须遵循一定的规则,我们把这个规则称之为HTTP协议!
报文: HTTP协议通信的内容我们称之为报文
报文格式: 报文首部 空行 报文主体
请求报文 请求首部:请求首行和请求头部 空行 请求主体
响应报文: 响应首部 空行 响应主体
报文分类:
请求报文:浏览器发送给服务器端的内容
get请求 GET /Hello/index.jsp HTTP/1.1
Accept: */*
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip,deflate
Host: localhost:8080
Connection: Keep-Alive
Cookie: JSESSIONID=C55836CDA892D9124C03CF8FE8311B15
请求首行:请求方式 请求资源【url】 请求协议/版本号
请求头部:
*/*表示客户端可以接受的文档类型,*/*表示的是可以接受任意类型
Accept-Language:表示的是当前浏览器所在的地区,zh-CN表示是客户端用的语言简体中文,en-US表示的是美式英语!
Accept-Encoding:浏览器向服务器发送请求的时候,会告诉服务器端浏览器可以接受的压缩格式!
refer:表示的是当前网页是从哪个网页跳转过来!
host:是目标主机的ip地址和端口号!
Connection:表示的是浏览器和服务器的通信连接:Keep-Alive表示会话保持!默认会话连接时间是3000ms!
Cookie:是位于浏览器端的,和服务器通信使用!
get请求没有空行和请求体!
post请求 POST /Hello/target.html HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Referer: http://localhost:8080/Hello/
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR3.0.30729;
Media Center PC 6.0; .NET4.0C; .NET4.0E)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: localhost:8080
Content-Length: 14
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: JSESSIONID=774DA38C1B78AE288610D77621590345
username=admin
请求首部: 请求首行:请求方式 请求URL 请求协议/协议版本号 POST /Hello/target.html HTTP/1.1
请求头部: 空行 请求体:请求的内容
get请求和post请求的区别:
1.get请求是通过url传递参数,post请求是通过请求体传递参数的
2.get请求最多允许传递255个字符,对长度有限制,所以数据比较大的时候我们使用post请求,尤其是做上传的时候用post请求!
3.get请求我们在浏览器上是可以看到请求参数的,而post请求在浏览器地址栏中是看不到请求参数的!
响应报文:服务器发送给浏览器端的内容
响应报文是由响应首部[响应首行和响应头部]、空行、响应体 HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=UTF-8
Content-Length: 274
Date: Tue, 07 Apr 2015 10:08:26 GMT
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello</h1>
</body>
</html>
响应首行:通信协议/版本号 响应状态码
响应头部: 服务器:apache
响应体编码类型:Content-Type
响应体长度:Content-Length
响应时间:Date
空行 响应体!
响应状态码:
200:表示的是响应成功
302:表示的是重定向
404:请求的url错误!
500:服务器端的错误!