绝大多数的web开发,都是构建在http协议上的,HTTP——Hypertex Transfer Protocol,超文本传输协议
HTTP是应用层协议,HTTP是一个基于请求/相应模式的,无状态的协议。
http1.0每次请求都要申请建立连接,请求完毕关闭连接,在HTTP1.1中,给出了一个持续连接(Persistent Connections)的机制。
URL,URI,URN
1、HTTP请求
HTTP请求由客户端发送向服务器请求资源,请求由三部分组成:请求行,消息报头,请求正文
请求行以一个方法符号开头,后面跟着请求URI和协议的版本,以CRLF作为结尾。请求行以空格分隔:Method Request-URI HTTP-Version CRLF
Method表示请求的方法,Request-URI是一个统一资源标示符,标识了要请求的资源,HTTP-Version表示请求的HTTP协议版本,CRLF表示回车换行。例如:
GET /test.html HTTP/1.1 (CRLF)
REST(Representational State Transfer) RESTFul Web Service
HTTP请求——方法:GET、POST、HEAD、DELETE、TRACE、CONNECT、OPTIONS、PUT
GET方法:当我们通过在浏览器的地址栏中直接输入网址的方式去访问网页时,浏览器采用GET的方法向服务器请求资源
POST方法:向服务器发送请求,要求服务器接受附在请求后面的数据。
POST /login.jsp HTTP/1.1 (CRLF)
Accept:image/gif
...
HEAD方法与GET方法几乎一样,区别在于HEAD只是请求消息报头
2、HTTP响应,在接受和解释请求消息后,服务器会返回一个HTTP响应消息,响应也由三部分组成:状态行,消息报头,响应正文
状态行由协议版本号,数字形式的状态代码,相应的状态描述组成:
HTTP-Version Status-Code Reason-Phrase CRLF
HTTP/1.1 200 OK (CRLF)
状态代码三位,第一个数字定义了相应的类别,后面两个数字没有具体的分类:
1xx:指示信息——表示请求已接收,继续处理
2xx:成功——表示请求已经被成功接收,理解,接受
3xx:重定向——要完成请求必须进行更进一步的操作
4xx:客户端错误——请求有语法错误或请求无法实现
5xx:服务器端错误——服务器未能实现合法的请求
3、HTTP消息:由客户端到服务器的请求和服务器到客户端的相应组成。请求消息和响应消息都是由开始行,消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。对于请求消息吗,开始行就是请求行,对于响应消息,开始行就是状态行
4、使用Telnet测试
telnet www.aaa.com 80
GET /index.html HTTP/1.1
Host:www.aaa.com
5、Tomcat
要想启动Tomcat,需要配置好两个环境变量:JAVA_HOME:值为JDK的安装目录(bin目录的上一层目录)
CATALINA_HOME:值为Tomcat安装目录
6、服务器:Tomcat、Resin、Jetty、Weblogic、WebSphere、JBoss
7、MyEclipse新建一个web工程后,目录结构:工程名下有src、JRE System Library、Java EE 5 Libraries、WebRoot,WebRoot下有META-INF和WEB-INF目录,这是固定的。
8、配置Tomcat,在tomcat安装目录的conf目录下,打开server.xml文件,在</Host>前添加一行<Context path="/test" docBase="d:\test\webroot" reloadable="true" />