【JavaWeb】 目前主要更新JavaWeb,一起学习一起进步。
本期主要介绍Http协议及Servlet快速入门
HTTP 协议:超文本传输协议(
HTTP , HyperText Transfer Protocol) 是互联网上应用最为广泛的一种网
络协议。
所有 WWW 开头的网站都遵守该协议
该协议是为了 使得浏览器和服务器之间 请求 - 响应传递的 超文本信息更加快捷高效。
HTTP 协议的作用
HTTP 协议是学习 JavaWEB 开发的基石,不深入了解 HTTP 协议,就不能说掌握了 WEB 开发,
更无
法管理和维护一些复杂的 WEB 站点。
HTTP 协议的特点
基于 请求 / 响应模型 。 请求和响应必须成对;先有请求后有响应 。
HTTP 协议默认的端口 :80
例如: http://www.itheima.com :80
HTTP/1.0
HTTP/1.1 【目前使用】
HTTP/2.0 (双工模式)
HTTPS 协议:基于 HTTP 协议,通过 SSL 或 TLS 提供加密处理数据、验证对方身份以及数据完
整性保护。
可以大体认为 HTTPS 比 HTTP 安全性高。 SSL 证书需要付费。
HTTP 请求协议、 HTTP 响应协议。
HTTP 请求协议,是浏览器把信息发送给服务器的方式。
HTTP 响应协议,是服务器把信息返回给浏览器的方式。
HTTP 请求包括: 请求行、请求头、请求体
HTTP 响应包括: 响应行、响应头、响应体
1、安装火狐的 firebug
2、发布一个 WEB 项目到 TOMCAT,WEB 项目中准备一个 HTML 页面
如下图,我们提供两种请求方式抓包结果:
GET 请求抓包数据:
POST 请求抓包数据:
请求行,用于存放极为少量的信息
例如: POST /day09/01.http/form.html HTTP/1.1 请求行必须在 HTTP 请求格式的第一行。 请求行格式: 请求方式 资源路径 协议 / 版本 请求方式:协议规定 7 种,常用两种: GET 和 POST GET 请求: 将请求参数追加在 URL 后面,不安全。例如: form.html?username=jack&username=1234 URL 长度限制 GET 请求方式的数据大小。 get 没有请求体 POST 请求 请求参数显示请求体处,较安全。 请求数据大小没有显示。 目前只有表单设置为 method= ” post ”才是 post 请求 . 其他的都是 get 请求。 常见 GET 请求:地址栏直接访问、 <a href=””> 、 <img src=””> 等
请求头,用于存放预定义好的 key/value 少量信息
例如: Host: localhost:8080 请求头从第二行开始 ,到第一个空行结束。及请求头和请求体之间存在一个空行。 请求头通常以键值对 (key:value) 方式传递数据。 key 为规范规定的固定值 value 为 key 对应的取值,通常是一个值,可能是一组。
请求体,用于传递表单数据,数据量无限
通常情况下,只有 post 请求方式才会使用到请求体, 请求体中都是用户表单提交的数据 ,每一项数据都使用键值对 ( k=v ),多组值使用 & 相连。 例如; username=jack&password=1234
如下图,我们提供的响应的抓包结果
响应行,用于返回响应结果
例如: HTTP/1.1 200 OK 格式: 协议 / 版本 状态码 状态码描述 状态码:服务器与浏览器用于确定状态的固定数字号码 200 :请求成功。 302 :请求重定向。
304 :请求资源没有改变,访问本地缓存。(查看的不是网上资源,为本地缓存) 404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。 500 :服务器内部错误。通常程序抛异常。
响应头,用于存放预定义好的 key/value 少量信息
响应体,传递的是请求需要查看的资源数据,数据量无限
响应体,就是服务器发送给浏览器的资源数据。
即:若浏览器想看 html 网页,响应体里就是 html 页面代码
若浏览器想看 jpeg 图片,响应体里就是 JPEG 图片的二进制字节流数据
若浏览器想看 AVI 视频,响应体里就是 AVI 视频的二进制字节流数据
今天我们已经学习了 tomcat 和 web 项目使用和编写,明天我们将学习动态资源技术 Servlet ,今
天我们将编写 servlet 的入门案例,所有步骤为固定内容,今天只需完全模仿。
Servlet 是服务器的 Java 程序,相当于大脑中负责控制身体的部分。
1. 创建 web 项目,部署 tomcat 环境
2 、导入支持包
3、创建 Servlet 程序
4 、启动 tomcat ,浏览器访问
在浏览器地址栏输入: http://localhost:8080 /webtest/ d1?method=test
浏览器显示空白页面
控制打印信息