当前位置: 代码迷 >> Web前端 >> java_web 温习 1 html 与 http 协议
  详细解决方案

java_web 温习 1 html 与 http 协议

热度:463   发布时间:2012-12-17 09:31:40.0
java_web 复习 1 html 与 http 协议

HTML(Hyper Text Markup Language) ,超文本标记语言。

<html>

	<head>
		
		<title>这是网页的标题</title>
		<link rel="stylesheet" type="text/css" href="css.css">
		<style type="text/css">

		.center{text-align: center; color:red}

		</style>
	</head>


	<body>

		<h1 class="center">这是网页显示的内容</h1>
		<hr>
	<p class="center"> This paragraph will be right-aligned. </p>
	<p class="center"> This paragraph will be center-aligned. </p>
	

		<a href="http://www.baidu.com">这是一个链接</a>
		
		<br><br>

		<!--

		<table border="1" align="center" width="80%">

			<tr>

				<th>aa</th>
				<th>bb</th>
				<th>cc</th>

			</tr>

			<tr>
				<td align="center"><b>dd</b></td>
				<td align="center"><b>ee</b></td>
				<td align="center"><b>ff</b></td>
			</tr>

		-->
			<form>

			username: <input type="text" value="hello world"><br>
			password: <input type="password"><br>
			兴趣:学习<input type="checkbox"> 
			      旅游<input type="checkbox">
			      睡觉<input type="checkbox"><br>
			性别:男<input type="radio" name="gender">
	         	      女<input type="radio" name="gender"><br>
			学历:<select>
				<option>小学</option>      
			      	<option>初中</option>
			      	<option>高中</option>
				<option>大学</option>
			      </select><br>

                        评论:<textarea>

			      </textarea><br>

         		图片:<img src="http://www.google.com.hk/intl/zh-CN/images/logo_cn.png"><br>
			文件上传:<input type="file"><br>

			<input type="submit" value="submit">&nbsp;&nbsp;&nbsp;<input type="reset" value="reset">&nbsp;&nbsp;&nbsp;<input type="button" value="button" onclick="javascript:alert('hello world');">

			</form>
		</table>
	</body>

</html>

?

css样式

?

p.right {text-align: right}
p.center {text-align: center}
h1,h2,h3,h4,h5,h6 { color: blue }
.center {text-align: center; color:blue}

?

?

Http(Hypertext Transfer Protocol)是一个基于请求/响应模式的,无状态的协议(request/response based ,stateless protocol)??

?

Http是应用层协议

?

绝大多数的Web开发,都是构建在Http协议之上的Web应用,理解和掌握Http协议,将有助于我们更好地学习和掌握Servlet和JSP技术,以及其他相关的Web开发技术

?

在Http1.1版本中,给出了一个持续连接(Persistent Connections)的机制,并将其作为Http1.1中建立连接的缺省行为。

?

请求行以一个方法符号开头,后面跟着请求UR和协议的版本,以CRLF作为结尾。请求行以空分隔。除了作为结尾的CRLF外,不允许出现单的CR或LF字符,格式如下:

?

Method Request-URI HTTP-Version CRLF

?

如:GET /test.html HTTP/1.1 (CRLF)

?

方法?????????? 作用
GET?????????? ?请求获取由Request-URI所标识的资源
POST????????? 在Request-URI所标识的资源后附加新的数据
HEAD? ?????? ?请求获取由Request-URI所标识的资源的响应消息报头
DELETE????? 请求服务器删除由Request-URI所标识的资源
TRACE??????? 请求服务器回送收到的请求信息,主要用于测试或诊断
ONNECT???? 保留将来使用
OPTIONS?? ?请求查询服务器的性能,或者查询与资源相关的选项和需求
PUT??????????? 请求服务器存储一个资源,并用Request-URI作为其标识

?

与HTTP请求类似,HTTP响应也是由三个部分组成,分别是:状态行,消息报头,响应正文

?

状态行由协议版本,数字形式的状态代码,相应的状态描述组成,各元素之间以空格分隔,除了结尾的CRLF(回车换行)序列外,不允许出现CR或LF字符。格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
HTTP-Version表示服务器HTTP协议的版本,
Status-Code表示服务器发回的响应代码,
Reason-Phrase表示状态代码的文本描述,
CRLF表示回车换行,例如:
HTTP/1.1 200 OK (CRLF)

?

状态代码由三位数字组成,表示请求是否被理解或被满足,状态描述给出了关于状态代码的简短文本描述?
状态代码的第一个数字定义了响应的类别,后面两个数字没有具体的分类。第一个数字有五种可能的取值
1xx:指示信息―表示请求已接收,继续处理
2xx:成功―表示请求已经被成功接收,理解,接受
3xx:重定向―要完成请求必须进行更进一步的操作
4xx:客户端错误―请求有语法错误或请求无法实现
5xx:服务器端错误―服务器未能实现合法的请求

?

状态代码? 状态描述? 说明
200? OK? 客户端请求成功
400? Bad Request? 由于客户端请求有语法错误,不能被服务器所理解
401? Unauthorized? 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403? Forbidden? 服务器收到请求,但是拒绝提供服务,服务器通常会在响应正文中给出不提供服务的原因
404? Not Found? 请求的资源不存在,例如:输入了错误的URL
500? Internal Server Error 服务器发生不可预期的错误,导致无法完成客户的请求
503? Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常

?

HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。

?

请求消息和响应消息都是由开始行,消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。


对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行

?

HEAD /server.html html/1.1

Host:localhost

Connection:Keep-Alive

?

  相关解决方案