HTTP、请求报文、响应报文
1、HTTP:
通信双方如果想要通信就必须遵循一定的规则,我们把这个规则称之为HTTP协议!
2、报文:
- HTTP协议通信的内容我们称之为:报文
- 报文格式:报文首部 空行 报文主体
2.1 请求报文:
- 请求首部:请求首行和请求头部
- 空行
- 请求主体
2.2 响应报文:
- 响应首部
- 空行
- 响应主体
3、报文分类:
3.1 请求报文:浏览器发送给服务器端的内容
(1) 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请求没有空行和请求体!
(2) 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 CLR 3.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
- 请求头部:
- 空行
- 请求体:请求的内容
(3) get请求和post请求的区别:
- get请求是通过url传递参数,post请求是通过请求体传递参数的
- get请求最多允许传递255个字符,对长度有限制,所以数据比较大的时候我们使用post请求,尤其是做上传的时候用post请求!
- get请求我们在浏览器上是可以看到请求参数的,而post请求在浏览器地址栏中是看不到请求参数的!
3.2 响应报文:服务器发送给浏览器端的内容
- 响应报文是由响应首部[响应首行和响应头部]、空行、响应体
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
- 响应首行:通信协议/版本号 响应状态码
- 响应头部:
- 服务器:apache
- 响应体编码类型:Content-Type
- 响应体长度:Content-Length
- 响应时间:Date
- 空行
- 响应体!
4、响应状态码:
200:表示的是响应成功
302:表示的是重定向
404:请求的url错误!
500:服务器端的错误!
不想学好基础的程序员不是好的程序员。

浙公网安备 33010602011771号