三、HTTP请求 3.1 HTTP请求数据格式 GET请求 POST请求 字符串格式: // 请求行 POST /login.html HTTP/1.1 // 请求头 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.
三、HTTP请求
3.1 HTTP请求数据格式
GET请求
POST请求
字符串格式:
// 请求行
POST /login.html HTTP/1.1
// 请求头
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://localhost/login.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1
// 请求体
username=zhangsan&password=123
3.2 请求行
3.2.1 请求行格式
请求方式 请求url 请求协议/版本
==例如==
POST /day01_http&tomcat/http_request/login.html HTTP/1.1 GET /day01_http&tomcat/http_request/login.html?username=jack&password=123 HTTP/1.1
3.2.2 GET和POST的区别
HTTP协议有7种请求方式,常用的有GET和POST两种
1.GET的请求参数在地址栏显示,POST则不会
2.GET的请求参数存放于请求行中,POST的请求参数在请求体中
3.GET的请求的URL长度有限制的(最大2KB),POST则没有限制
4.GET可以缓存数据,而POST没有缓存
- 什么时候用GET,什么时候用POST
提交表单中的数据使用POST,其他全部使用GET - 常见GET的使用方式
- 直接在浏览器地址栏输入的地址是GET的访问方式
- 超链接
- 表单中的method="get"
3.3 请求头
请求头是客户端浏览器告诉服务器一些信息
3.3.1 请求头格式
请求头名称: 请求头值
==例如==
Host: localhost:8080
3.3.2 常见的请求头
1. Host: localhost:8080 访问服务器的地址(域名+端口)
2. Connection: keep-alive 长连接(http1.1协议)
3. Referer:http://localhost/login.html
* 告诉服务器,我(当前请求)从哪里来?
* 作用:
1. 防盗链
2. 统计工作
4. User-Agent: 浏览器告诉服务器,我访问你使用的浏览器版本信息
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) Chrome/63.0 Safari/537.36
可以在服务器端获取该头的信息,解决浏览器的兼容性问题
判断
谷歌方式一
IE方式二
火狐方式三
3.4 请求空行
空行,就是用于分割POST请求的请求头,和请求体的。
3.5 请求体
封装POST请求消息的请求参数的
3.5.1 请求体格式
参数名=参数值&参数名=参数值...
==例如==
username=jack&password=123
==注意事项:get方式没有请求体,post方式才有==