(2)Http协议内容解读:请求行、请求头

一、概念
http协议:对浏览器客户端和服务器之间数据传输的格式规范

二、查看http协议的工具
使用火狐(右击–>使用firebug查看元素—>网络)

三、http协议内容

请求(浏览器–>客户端):
GET /day08/hello HTTP/1.1 ———请求行
以下是请求头(多个键值对)根据请求不同,请求行信息是不同的
Host:localhost:8080
User-Agent :Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/55.0
Accept :text/html,application/xhtml+xm…plication/xml;q=0.9,/;q=0.8
Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding:gzip, deflate
Connection:keep-alive
—-一个空行
name:eric&password=12345 —-(可选)实体内容
(一)请求行理解GET /day08/hello HTTP/1.1

A: http协议版本
①http1.0 :当前浏览器客户端与服务器端建立连接之后,只能发送一次请求,一次请求之后连接关闭
②http1.1:当前浏览器客户端与服务器端建立连接之后,可以一次连接发送多次请求,多次响应
Q:一个web页面中,使用img标签引入了三张图片,当客户端访问服务器中的这个web页面时,客户端总共要访问几次服务器,即向服务器发送几次请求?
小问题:图片导入到工程中方法:webRoot–new—folder创建一个文件夹,然后将图片复制到里面即可
发送四次请求,因为一个页面请求,和三张图片资源请求
若是引入三张相同得到图片,则只会请求两次,因为浏览器的缓存技术,使得请求的次数减少

B: 请求资源
URL:统一资源定位符。http://localhost:8080/day09/test.html(只能定位互联网中的资源),是URI的子集
URI:统一资源标记符。/day08/hello。用于标记任何资源,可以是本地文件系统,局域网的资源
URI可以变换成URL,加上协议主机端口即可

C: 请求的方式
常见的请求方式:GET、POST、 HRAD、 TRACE 、PUT、CONNECT、DELETE
常见的是GET、POST
a: GET方式提交(默认方式):
①地址栏会添加参数信息,以?开头,多个参数以&连接
②提交的参数数据有限制不超过1KB
③不适宜提交一些敏感参数

GET /day10/get_post.html?user=1&psw=12 HTTP/1.1(参数就放在请求行中)
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 —-浏览器接受的语言
Accept-Encoding: gzip, deflate
Referer: http://localhost:8080/day10/get_post.html
Connection: keep-alive
b: POST方式提交:
①参数不会跟在URL中,而是在实体中,参数没以?开头,以&连接不同的参数
②提交的参数数据没有限制
③适宜提交一些敏感参数
POST /day10/get_post.html HTTP/1.1
Host: localhost:8080 —–(必须的)当前请求访问的目标地址(主机:端口号)
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0—-浏览器类型
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 —-浏览器接收的数据类型
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate ——浏览器接收的数据压缩方式
Content-Type: application/x-www-form-urlencoded
Content-Length: 13
Referer: http://localhost:8080/day10/get_post.html —-当前请求来自哪里
Connection: keep-alive—-浏览器和服务器的连接状态(close/keep-alive)

user=1&psw=12—–实体内容
本节主要看黑框的内容:为什么要用http协议
(2)Http协议内容解读:请求行、请求头