day14-HTTP01( 二 )

在web目录下创建login.html:

day14-HTTP01

文章插图
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>用户登录</title></head><body><h1>用户登录</h1><!--给LoginServlet发送get请求--><form action="http://localhost:8080/http/login" method="get">u:<input type="text" name="username"/><br/>p:<input type="password" name="pwd"/><br/><input type="submit" name="用户登录"/><input type="reset" name="重置"/></form></body></html>点击redeployTomcat
day14-HTTP01

文章插图
在浏览器中打开调试台(f12),点击网络 。在地址栏输入:http://localhost:8080/http/login.html,回车 。
在login.html的框中输入信息,点击登录,调试台显示如下:
day14-HTTP01

文章插图
点击第一个请求,查看请求头:
day14-HTTP01

文章插图
4.HTTP请求包分析(POST)在上面的基础上修改login.html文档的提交方式为 post
day14-HTTP01

文章插图
redeployTomcat,然后在浏览器中打开调试台(f12),点击网络 。
在地址栏输入:http://localhost:8080/http/login.html并回车 。
在login.html的框中输入信息,点击登录,调试台显示如下:
day14-HTTP01

文章插图
点击第一个请求,查看请求头:可以发现请求行中已经没有用户提交的数据了
day14-HTTP01

文章插图
在请求按钮下面可以看到用户请求的表单数据:其实原始的post请求是包含该数据的,只是浏览器将其分开了
day14-HTTP01

文章插图

day14-HTTP01

文章插图
补充:
  1. content-type中的x-www-form-urlencoded:表示我们的表单数据是url编码
    url编码是一种浏览器用来打包表单输入的格式 。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器
    例如:表单输入中文符号提交,在表单数据中可以看到url编码如下:

    day14-HTTP01

    文章插图
    解码后显示:
    day14-HTTP01

    文章插图
  2. content-length表示发送的数据长度,这里的数据为表单数据,告诉服务器要按多少个字节来读取
5.GET请求和POST请求到底有哪些?5.1GET请求
  1. form标签method=get
  2. a 标签
  3. link标签引入css[以get方式来获取资源]
  4. script标签引入js文件 [以get方式来获取资源]
  5. img标签引入图片
  6. iframe引入html页面
  7. 在浏览器地址栏中输入地址后敲回车
例子

day14-HTTP01

文章插图
5.2POST请求
  1. form标签method=post
5.3HTTP请求中怎么样选择get和post请求在大多数情况下不需要考虑这个问题,因为业务本身就会自动区别