服务端技术|服务器与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