03.HTTP协议概述/内容了解?&& 01.Web概述? && 02.Tomcat服务器/概述¥使用&常见问题?

03.HTTP协议

3.1协议概述
		HTTP: 特点:无状态,默认端口就是80  https:
		WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。
		HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议之上的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。
		HTTP协议到底约束了什么:
		    1.约束了浏览器以何种格式想服务端发生数据:
		    2.约束了服务器应该以何种格式来接受客户端发生的数据:
		    3.约束了服务器应该以何种格式来反馈数据给浏览器;
		    4.约束了浏览器应该以何种格式来接收服务器反馈的数据.
		---------------------------------------------------------------------------
		HTTP1.0规范:
		  若请求的有N个资源,得建立N次连接,发送N次请求,接收N次响应,关闭N次连接.
		  每次请求的之间都要建立单独的连接,请求,响应,响应完关闭该次连接:
		缺点:每请求一个资源都要单独的建立新的连接,请求完并关闭连接.
		     解决方案: 能在一次连接之间,多次请求,多次响应,响应完之后再关闭连接.
		HTTP1.1规范:能在一次连接之间,多次请求,多次响应,响应完之后再关闭连接.
		HTTP 1.1的特点 
			在一个TCP连接上可以传送多个HTTP请求和响应  
			多个请求和响应过程可以重叠进行
			增加了更多的请求头和响应头 
		浏览器给服务器发送数据:一次请求
		服务器给浏览器反馈数据:一次响应
		HTTP协议的版本 
			HTTP/1.0、HTTP/1.1、HTTPS2.0


3.2httpwatch和firebug工具

3.3请求信息
			请求消息
	1、包含三大部分
		1.1请求行:位于请求消息的第一行
			格式:请求方式 资源路径 HTTP版本号
			
			常用请求方式:GET和POST方式
			1.1.1Get请求方式:
				a、若请求服务器上的某个资源,没有指定请求方式,则默认为GET方式
				b、可以通过GET方式向服务器传递数据。具体方式就是在URL请求路径后加上?,多个参数以&分割。比如
					http://localhost:8080/a.html?username=abc&password=123
				注:GET请求方式,数据不安全且有URL长度限制(1K)
			1.1.2Post请求方式:
				a、若使用Post请求方式传递数据,可以借助form表单的method="post"
				b、数据安全,且长度没有限制
		1.2若干请求头:从第二行开始到第一个空行。作用:向服务器传递客户端的一些基本信息
			<1>、Accept:浏览器可接受的MIME类型(Tomcat安装目录/conf/web.xml中查找)
			<2>、Accept-Charset:告知服务器,客户端支持哪种字符集
			<3>、Accept-Encoding:浏览器能够进行解码的数据编码方式
			<4>、Accept-Language:浏览器支持的语言。
			<5>、Referer:当前页面由哪个页面访问过来的。
			<6>、Content-Type:通知服务器,请求正文的MIME类型。
								取值:application/x-www-form-urlencoded默认值
								对应的是form表单的enctype属性
			<7>、Content-Length:请求正文的长度
			<8>、If-Modified-Since:通知服务器,缓存的文件的最后修改时间。
			<9>、User-Agent:通知服务器,浏览器类型.
			<10>、Connection:表示是否需要持久连接。如果服务器看到这里的值为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接 
			<11>、Cookie:这是最重要的请求头信息之一(会话有关)
			
		1.3请求正文:从第一个空行开始,后面的都是正文。(可以没有)


3.4响应信息

	响应消息
	1、包含三大部分
		1.1状态行:位于响应消息的第一行
			格式: HTTP版本号 状态码 
		1.2若干响应头:从第二行开始到第一个空行
			<1>、Location:制定转发的地址。需与302/307响应码一同使用
			<2>、Server:告知客户端服务器使用的容器类型
			<3>、Content-Encoding:告知客户端服务器发送的数据所采用的压缩格式
			<4>、Content-Length:告知客户端正文的长度
			<5>、Content-Type:告知客户端正文的MIME类型
				Conent-Type:text/html;charset=UTF-8
			<6>、Refresh:定期刷新。还可以刷新到其他资源
				Refresh:3;URL=otherurl
				3秒后刷新到otherurl这个页面
			<7>、Content-Disposition:指示客户端以下载的方式保存文件。
				Content-Disposition:attachment;filename=2.jpg
			<8>、Expires:网页的有效时间。单位是毫秒(等于-1时表示页面立即过期)
			   Cache-Control:no-cache
			   Pragma:no-cache
			控制客户端不要缓存
			<9>、Set-Cookie:SS=Q0=5Lb_nQ; path=/search服务器端发送的Cookie(会话有关)
			
		1.3响应正文:从第一个空行开始,后面的都是正文。

----------------------------------------------------------------------------------------	
	MIME
	MIME的英文全称是"Multipurpose Internet Mail Extensions" 多用途互联网邮件扩展,它是一个互联网标准,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,
MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型



3.4常见的响应状态码

3.5GET和POST请求的区别

02.Tomcat服务器

2.1 Tomcat的安装和使用
	Tomcat是使用Java语言编写的一个服务器(程序),要运行Tomcat,必须得有jre.
安装启动:
   0.
     32位的JDK --->32位的Eclipse--->32位Tomcat
     64位的JDK --->64位的Eclipse--->64位Tomcat
   1.安装目录不能使中文的,并且安装路径不允许出现空格.
     如:D:\OpenSources\Tomcat7\apache-tomcat-7.0.42:我们把该路径称之为Tomcat的根路径
   2.启动Tomcat服务器:Tomcat根/bin/startup.bat
     但是提示:必须先配置JAVA_HOME或者JRE_HOME的环境变量:
     一般的我们只配置JAVA_HOME:配置为JDK的根路径
    JAVA_HOME=D:\OpenSources\jdk1.7.0_06_x86
    配置好之后,再点击Tomcat根/bin/startup.bat:知道控制台没有打印重大的错误,Exception,没有一闪而过,就表示启动成功.   
    Tomcat的默认端口是8080:
访问:
     打开浏览器:
     http://服务器所在主机的IP:服务器的端口号/资源名字
     http://服务器所在主机的名字:服务器的端口号/资源名字
  
若服务在本机:
     http://本机的IP:服务器的端口号/资源名字
     http://127.0.0.1:服务器的端口号/资源名字
     http://localhost:服务器的端口号/资源名字
     
2.2 Tomcat的常见错误
   1.还没启动Tomcat或者Tomcat启动失败,就去访问地址:
   2.Tomcat启动成功,但是出现404的页面.
   3.Tomcat还未关闭,又再次重新启动Tomcat.
   4.Tomcat下的配置文件的结构不能乱改:
   5.要保证XML内容编码和文件编码相同,若有中文,建议使用UTF-8,否则不能使用中文:
   
	2.3 Tomcat的常见配置

	2.3.1端口配置
		修改Tomcat的默认端口:
Tomcat的默认端口是8080,HTTP协议的默认端口是80;
步骤:
   1.进入Tomcat根/conf/找到server.xml文件
   2.默认是在第70行,Connector元素的 port属性:
   3.配置为80端口(80端口是http协议的默认端口):
         http://baidu.com:80/index.php 等价于
         http://baidu.com/index.php
   4.重新启动Tomcat,看到效果;


	2.3.2权限配置
	
	2.3.3服务配置

    Tomcat常见的配置:
把Tomcat配置到服务列表:这样可以随着系统的启动而启动(一般用在服务上):
 1.使用cmd工具,并进入Tomcat根/bin目录
 2.执行service install命令
 3.就可以注册服务
删除服务:
   1.使用cmd工具,并进入Tomcat根/bin目录
   2.执行service remove命令
   3.就可以删除服务

2.4JavaWeb项目结构
WEB应用程序指供浏览器访问的程序,通常也简称为web应用。
一个web应用由多个静态web资源和动态web资源组成,如:
html、css、js文件
jsp文件、java程序、jar文件、
配置文件
……
组成 web 应用程序的这些文件要部署在相应的目录层次中,根目录代表整个 web 应用程序的“根”。
---------------------------------------------------------------------------------------------------------------
从JavaEE6开始(Tomcat7,Servlet3.0规范),JavaWeb应用下可以不需要web.xml文件了.(可以使用注解).
但是建议保留该文件:

2.5基于Eclipse搭建JavaWeb项目
搭建基于Eclipse的纯的JavaWeb项目:
步骤:
1,搭建一个Java项目:
2,在该项目下新建一个文件夹,表示根,名字为:webapp(名字随意)
3,在webapp下新建一个文件夹,名字为WEB-INF
4,在WEB-INF中新建一个文件夹,名字为classes
5,在WEB-INF中新建一个文件夹,名字为lib
6,去Tomcat根/webapps/ROOT/WEB-INF目录下拷贝一个web.xml文件到WEB-INF下(只保留头和根元素);
7,改变该项目的输出目录:也就是改变classpath的路径,从默认的bin目录该变为webapp/WEB-INF/classs中;
8,搞定:
 以后要把项目给别人,只给webapp目录.


2.6Eclipse的Tomcat插件
给Eclipse安装Tomcat的插件:
装插件:
1.在需要被装插件的Eclipse根/dropins目录
2.在该目录下新建一个文本文件:里面的内容是
  path=D:/DevelopTools/EclipsePlugins/Tomcat
3.建议修改该文本文件的名字为:tomcat.link
4.重新启动Eclipse.看效果,若看到3只可爱的小猫咪,表示插件安装成功.
5.但是这仅仅表示Eclipse的插件,不代表Tomcat服务器.得和真实的Tomcat服务器做关联.
6,就可以使用了.


2.7部署Web项目
部署JavaWeb项目:
方式一:
     直接把应用的根目录,拷贝到Tomcat根/webapps下:
     这是MyEclipse默认的部署方式:
     缺点:该目录下的应用将会越来越多,启动Tomcat就变慢了.若其中有一个应用有问题,Tomcat就会启动失败.
     解决方案:
     
对比给Eclipse安装插件:
     1>.上述部署项目的方式,相对于把插件拷贝到Eclipse/plugins下;
     2>.联想到给Eclipse安装插件的第二种方式,使用link文件来关联插件,告诉Eclipse你应该去哪里找插件.
     把该思想运用到部署项目上来:(第二种方式)
    
方式二:
     以配置文件的方式,告诉Tomcat应该把哪一个路径下的项目给部署起来.
     方式二也有两种用法:
     第一种: 
           1>.找到Tomcat根/conf目录下的server.xml文件:
           2>.在server.xml文件中的Host元素之间,新建一个元素:
              <Context path="pss" docBase="D:\JavaPros\pureWeb\webapp"/>
              在部署的时候,也可以把path的值设置"";
               <Context path="" docBase="D:\JavaPros\pureWeb\webapp"/>
               改完之后,访问方式:
               http://IP地址:端口号/资源的名字
           3>.若存在多个<Context/>,必须保证多个Context的path值不能相同.
      第二种:
          从Tomcat5.5开始推荐使用另外的一种方式来部署项目:
          1>.找到Tomcat根/conf/Catalina/localhost新建一个xml文件:比如abc.xml
             内容是:<Context docBase="D:\JavaPros\pureWeb\webapp"/>
          2>.此时该文件的名字,就相当于是第一种方式的path值(上下文名字)
             访问: http://localhost/abc/index.html
     其实:意思方式二的两种方式,其实是一个意思.

2.8虚拟主机配置
	有两个公司的Web应用都发布在同一个Tomcat服务器上,可以为每家公司创建一个虚拟主机
	www.google.com   	www.baidu.com
	google              		baidu
	修改Windows系统中的C:\WINDOWS\system32\drivers\etc\hosts

01.Web概述

01.1	Web发展历程:
		01.10CS/BS
		CS和BS是软件架构模式:
C/S: Client/Server :客户端/服务端架构:
B/S: Browser/Server:浏览器/服务器架构:

C/S:
   VB,Delphi,VC++,C#,Java awt/swing:比如桌面QQ,扫雷,拱猪等运行在桌面的程序.
   特点: 
       在服务端主要就是一个数据库,把所有业务逻辑以及界面的渲染操作交给客户端完成.
   优点:较安全,用户界面很丰富,用户体验不错等
   缺点:每次升级都需要重新安装,针对于不同的操作系统开发,可移植性很差.
B/S:
  JSP,ASP,PHP:基于浏览器访问的应用,把业务逻辑交给服务端完成,客户端仅仅只做界面渲染和数据交换.
  
  特点: BS是特殊的CS,此时浏览器充当了客户端.基于HTTP协议的.
  优点:只开发服务端,可以跨平台,移植性很强等.
  缺点:安全性较低,用户体验较差等;
  
现在的应用综合了BS和CS的优点:部分应用不再是单纯BS.
   富客户端技术: RIA,客户端会处理部分的业务逻辑,也会做界面的渲染和数据交互.界面丰富好比是CS.
   EasyUI,Flex,Extjs,Java FX等
   瘦客户端技术: 基于传统的html界面,客户端只界面的渲染和数据交互.(传统的BS)
   
	01.2 Web服务器:

服务器:0
      软件服务器:就是一个软件.
      硬件服务器:安装了软件服务器的主机.
分类:1
    1.http服务器,专门处理静态页面的.
    2.javaweb服务器,Tomcat等. 仅仅实现了JavaEE13种规范中的几个规范.(Servlet容器)
        不能运行EJB.
    3.应用服务器: 实现了JavaEE13种规范.WebSphere(IBM),WebLogic(Oracle),JBoss(red hat)
------------------------------------------------------------------------------------
3.Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP 的生命周期,以及管理它们的共享数据。
3.Servlet容器也称为JavaWeb容器,或者Servlet/JSP容器。

00_Tomcat和Http协议笔记.xls https://pan.wps.cn/l/sbWAxC4FG

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值