服务端技术|服务器与http协议
服务端技术|服务器与http协议
叶一片第一章 断点调试
1.1. 什么是断点?
- 断点: 就是一个标记、
1.2. 设置断点
如何设置断点
代码区域左边的空白位置 双击即可
在哪里加
想看哪个语句的执行结果就在该语句前面加
怎么运行断点的程序
代码区域右键 – Debug as – Java Application
显示一个页面,提示是否进入调试页面? 是否记住当前操作?是(Yes)是(勾选复选框)
弹出了断点页面
1.3. 调试界面
点哪里
点击 工具栏中的Step Over (执行下一行)
快捷键F6 看到每一步程序的执行过程
看哪里
看代码区域: 对照看程序执行步骤
看Debug区域: 对照看程序执行步骤
看varable区域: 观察变量的创建、复制、销毁
如何消除断点
把设置断点的方式再执行一遍
切换到Debug视图,选择 Breakpoints – Remove All Breakpoints 就是2个XX的图标
第二章 Web开发简介
2.1. 软件开发的两种架构:c/s和b/s
C/S:Client(客户端)–>Server服务器
电脑版:qq 快播 暴风影音
优点:服务器压力相对较小,安全性高
缺点:一定要下载客户端,总是要更新
B/S:Browser(浏览器)—>Server服务器—》淘宝,京东,百度
优点:有浏览器就可以使用,不用下载客户端,也不用更新,更新是服务器端更新
缺点:服务器压力相对较大—》SSH,SSM
发展趋势:B/S是趋势
2.2. WEB开发的相关知识
WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
Internet上供外界访问的Web资源分为:
静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。
动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
静态web资源开发技术
Html
常用动态web资源开发技术:
JSP/Servlet、ASP、PHP、python等
Jsp/Servlet:特点:写网页,没有任何优势,特点:后台逻辑很强大,适合做后台,ssm
PHP:特点:写网页,很强大,内置了很多模板
在Java中,动态web资源开发技术统称为Javaweb
第三章 服务器简介
3.1. 服务器的概念:
硬件:就是一台电脑
软件:需要在这台电脑上安装服务器的软件
如果一台电脑上安装了服务器的软件的话,那么这台电脑就可以称为WEB服务器
访问:
IP+端口号
如果是域名解析成IP地址 www.baiwu.com
默认端口号是80:可以不写
3.2. 常见的web服务器
JavaWeb服务器:
Tomcat(Apache):免费,当前应用最广的JavaWeb服务器;只支持:jsp/servlet,不支持,EJB技术
Tomcat服务器,sum公司有参与研发,所有只要是新的javaWeb技术,都会在tomcat中体现
JBoss(Redhat红帽):免费,支持JavaEE,应用比较广;EJB容器。支持:jsp/servlet,EJB
Weblogic(Oracle):要钱的!支持JavaEE,适合大型项目,被oracle公司收购;
一条龙服务:javaWeb(jsp/servlet)+Oracle/Mysql+Weblogic
Websphere(IBM):要钱的!支持JavaEE,适合大型项目;
第四章 Tomcat服务器概述
在小型的应用系统或者有特殊需要的系统中,可以使用一个
免费的Web服务器:Tomcat,该服务器支持全部JSP以及
Servlet规范,启动界面如图
Tomcat服务器由Apache提供,开源免费。由于Sun和其他公司参与到了Tomcat的开发中,所以最新的JSP/Servlet规范总是能在
Tomcat中体现出来。Tomcat7以上支持Servlet3.0,而Tomcat6只支持Servlet2.5!
Tomcat官方站点:http://jakarta.apache.org
4.1. eclipse中配置自己的Tomcat
4.2. Tomcat的目录结构
注意:myeclips–>默认发布的路径是在webapps文件夹项目
Eclipse–>默认不是在webapps下面,要想放在里面要自己设置
第五章 http协议(重点)
5.1. 什么是HTTP协议?
协议就相当于甲乙两方签合同签协议。在程序中的甲乙双方是客户端(浏览器)与服务器端。
还可以理解成双方通信的格式,如果双方想要通信成功,都需要遵循一定的数据格式。
请求协议:客户端发送请求遵循的数据格式。
响应协议:服务器做出响应遵循的数据格式。
以下是解释:
HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。
5.2. HTTP协议特点
支持客户/服务器模式。
简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。
http协议有两个版本:
1.0:从客户端发送请求,到服务器响应,完成后立即断开连接
1.1:从客户端发送请求,到服务器响应,不会立即断开连接,如果一段时间内,没有任何请求,自动断开。
五.3. HTTP请求
客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。一个完整的HTTP请求包括如下内容:
一个请求行、若干消息头、以及实体内容,如下所示 :
五.4. HTTP请求的细节——请求行(面试题)
l请求行中的GET称之为请求方式,请求方式有:
POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
常用的有: GET、 POST
用户如没有设置,默认情况下浏览器向服务器发送的都是get请求,例如在浏览器直接输地址访问,点超链接访问等都是get,用户如想把请求方式改为post,可通过更改表单的提交方式实现。
不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上:
如请求方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔
例如:GET /mail/1.html?name=abc&password=xyz HTTP/1.1
GET方式的特点:速度快,在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K,大小与浏览器有关,不同浏览器大小限制不一样。
如请求方式为POST方式,则可以在请求的实体内容中向服务器发送数据,Post方式的特点:传送的数据量无限制。
五.5. HTTP请求的细节——消息头
用于HTTP请求中的常用头
Accept: text/html,image/*
Accept-Charset: ISO-8859-1
Accept-Encoding: gzip
Accept-Language:zh-cn
Host: www.baidu.com:80
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT(重点)
需要和响应头和304状态码一起使用,控制本地缓存
Referer: http://www.baidu.com/index.jsp(重点)
可以记录当前网页的来源(作用:统计网站的访问,防盗链)
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)(重点)
获取浏览器的版本信息l Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
5.6. HTTP响应
一个HTTP响应代表服务器向客户端回送的数据,它包括:
一个状态行、若干消息头、以及实体内容 。
5.7. HTTP响应的细节——状态行
状态行
格式: HTTP版本号 状态码 原因叙述
举例:HTTP/1.1 200 OK
状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。响应状态码分为5类,如下所示:
200:—>请求成功,一切OK
302:请求重定向
304:服务器端资源没有改动,通知客户端找本地缓存
404:客户端资源不存在
500:服务器内部错误
控制缓存流程:
5.8. HTTP响应细节——常用响应头
lHTTP请求中的常用响应头:
Location: http://www.baidu.com/index.jsp
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
Refresh: 1;url=http://www.baidu.com/
Content-Disposition: attachment; filename=aaa.zip
Expires: -1
Cache-Control: no-cache
Pragma: no-cache
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT