基本概念
web
网络资源: 网页,图片,文件
web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。
静态资源
文本,图片,静态网页
动态资源
服务器动态生成的资源,称为动态资源
静态技术: html javascript jquery css bootstrap
动态技术: Servlet, jsp...
常见的软件架构
cs架构: client / Server
常见的CS架构软件有哪些? eclipse , QQ, 360, 英雄联盟 ,王者荣耀特征: 1.必须在使用者的电脑安装客户端 2.必须要联网 3.自动更新麻烦 4.由于厂商直接在用户电脑中安装了客户端, 可以做很复杂逻辑 5.界面效果可以非常酷炫
bs架构:browser/server
常见软件: 百度,淘宝,京东,4399小游戏特征: 1.不需要在用户电脑安装客户端 2.必须要联网 3.自动更新很简单,只需要刷新页面 4.不能处理复杂的业务逻辑 5.页面效果一般
web通信
javaee开发通常使用的http协议与服务器进行效果
http协议: hyper text transfer protocol 超文本传输协议 ,
什么是协议: 共识, 租房的合同 : 约定双方必须遵守的规则, http协议主要是用来规定客户端,发送数据的时候,以什么样的格式发送, 服务器端以什么样的方式响应数据
特征: 一次请求,一次响应
服务器概念
安装了服务器软件的一台电脑: jdbc:mysql://localhost:3306/数据库名称
协议 :// IP地址 : 端口号 / 访问的资源
web服务器软件
weblogic: 大型的收费软件,支持javaee所有规范(jdbc,servlet,jsp,javamail...) , Oracle的产品, bea公司开发
websphere:大型的收费软件,支持javaee所有规范, IBM公司产品,解决方案(服务器+软件)
tomcat:小型的免费软件, 只支持部分规范(servlet )
阿里巴巴 : 数据库mysql(AliSql)和服务器都是自己开发的
oracle 按照cpu核收费 1*18万 , 32核 * 1000 *18万, 10万
websphere , 1200块*1000 -- 120 0000
tomcat环境搭建
安装: 安装在没有中文,没有空格的路径下
安装出现一闪而过的情况:
- 8080端口被其它程序占用了
- 没有配置JAVA_HOME这个环境变量
可以在地址栏上测试:
http://localhost:8080 访问tomcat默认主页
bin : binary 主要放的可进行文件conf : config 放置的配置文件 server.xml tomcat核心配置文件 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> web.xml 配置的 tomcat启动时需要加载的内容 lib : libary tomcat运行依赖的jar包 log : 日志文件temp : tomcat存放临时文件 webapps : web applications 主要是存放web项目 appwork : 工作目录, 主要是用来翻译jsp, tomcat序列化和反序列化Serializable
eclipse配置tomcat
eclipse中 window --- > preferences ---> server ---> runtime enviroments
HTTP协议
什么是协议?
是一种约定,规则, 约定客户端和服务器端以什么样的格式发送数据, 以什么样的方式响应数据
租房:
签租房合同, 双方各一份, 约定了双方必须完成怎么样的责任
发送一个请求(人民币), 服务器端响应(租金条)
抓包工具:抓取的是从这台电脑出去的数据,和外部传输给这台电脑的数据
- http协议-请求部分--request
GET http://localhost/day14/demo1.html HTTP/1.1Host: localhostConnection: keep-aliveUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8Accept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.8
- 请求行
格式: GET http://localhost/day14/demo1.html HTTP/1.1 请求方式 请求的资源路径 协议/版本 请求方式8种: get: (没有特别指定,默认使用的get) 1.提交的参数会显示在地址栏上 2.提交的数据有大小限制 3.提交数据不安全 post: 1.提交的参数不会显示在地址栏上,显示在请求体 2.提交的数据没有大小限制 3.提交的数据相对安全 协议版本: http/1.1 1.0 : 一次请求,一次响应,只获取了一个资源 1.1 (现在默认): 一次请求,一次响应, 可以获取多个资源request response
- 请求头
Host: localhostConnection: keep-aliveUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8Accept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.8格式: key:value (value有可能有多个)常见的请求头Accept: text/html,image/*,text/css, text/javascript,image/jpeg, image/gif 大类型/小类型 mime类型 --浏览器可以支持数据类型Accept-Charset: ISO-8859-1(不支持中文) --字符集Accept-Encoding: gzip --支持压缩Accept-Language:zh-cn --语言环境Host: www.itcast.cn:80 --访问主机If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT --缓存文件的最后修改时间 -- 询问服务器这个资源自从这个时间之后是否修改 Referer: http://www.itcast.com/index.jsp --来自哪个页面、防盗链User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) --代表的是用户所使用的浏览器的版本 ,文件下载 不同的浏览器文件名称编码 Cookie --代表的缓存 --Cookie SessionConnection: Keep-Alive --链接状态User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 火狐netscape Mozilla/5.0 渲染引擎Gecko: 微软 Mozilla/5.0 (Windows NT 10.0; Win64; x64) Linux : Opera : Mozilla/5.0 (Windows NT 10.0; Win64; x64) KHTML , like Gecko Apple: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.3 谷歌: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36 If-Modified-SinceRefererUser-agent
- 请求体
格式: username=zhangsan&password=123 作用:携带数据给服务器
- http协议-响应部分--response
HTTP/1.1 200 OKServer: Apache-Coyote/1.1Accept-Ranges: bytesETag: W/"160-1501813714236"Last-Modified: Fri, 04 Aug 2017 02:28:34 GMTContent-Type: text/htmlContent-Length: 160Date: Fri, 04 Aug 2017 02:49:44 GMT<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body style="color:red"> hello world!!!!</body></html>
- 响应行
HTTP/1.1 200 OK格式: 协议/版本 响应的状态码 状态码的说明 响应状态码: 1xx : 服务器已经接收到了请求 2xx : 服务器已经成功响应了请求 200 3xx : 服务器成功处理了请求,但是需要浏览器进一步操作 302: 重定向, location r 304: 告诉浏览器读缓存 4xx : 服务器没有找到对应的资源 404 5xx : 服务器崩溃了 500 200 304 404 500
- 响应头
Server: Apache-Coyote/1.1Accept-Ranges: bytesETag: W/"160-1501813714236"Last-Modified: Fri, 04 Aug 2017 02:28:34 GMTContent-Type: text/htmlContent-Length: 160Date: Fri, 04 Aug 2017 02:49:44 GMT 响应头Server:apache tomcat --服务器型号Content-Encoding: gzip --数据压缩Content-Length: 80 --数据长度Content-Language: zh-cn --语言环境Content-Type: text/html; charset=GB2312 --数据类型Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT --最后修改时间Location: http://www.it315.org/index.jsp --跳转的连接地址, 结合请求重定向来处理 302状态码Refresh: 1;url=http://www.it315.org -- --定时刷新Content-Disposition: attachment;filename=aaa.zip --下载 下载文件的时候必须指定一个头Set-Cookie:SS=Q0=5Lb_nQ; path=/search --缓存 Expires: -1 --缓存Cache-Control: no-cache --缓存Pragma: no-cache --缓存Connection: Keep-Alive --连接 Content-TypeLocation RefreshContent-Disposition
- 响应体
服务器响应给浏览器内容 响应的是页面的源代码 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body style="color:red"> hello world!!!!</body></html>
HTTP协议(了解)
request 操作请求部分response 操作响应部分 http请求部分: 请求行, 格式 请求头,格式 常见头 请求体,格式http响应部分: 响应行 200,302,404,500 响应头 格式, 常见的 响应体 页面所有源代码