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"> <input type="reset" value="reset"> <input type="button" value="button" οnclick="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