<html lang="en">
<head>
<meta charset="UTF-8">
<title>网页的标题title>
head>
<body>
<h1><font color="red">这是网页显式的内容font>h1>
这是一个链接a>
<table border="1" align="center" width="80%">
<tr>
<th>aath>
<td align="center"><b>bbb>td>
<td>cctd>
tr>
<tr>
<td>aatd>
<td>bbtd>
<td>cctd>
tr>
table>
body>
html>
<form>
username:<input type="text"/><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="https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_white_fe6da1ec.png"><br>
文件上传:<input type="file"><br>
<input type="submit" value="提交">
<input type="reset" value="重置">
<input type="button" value="button" onclick="javascript:alert('hello world')">
form>
• HTML标签起初被设计成为定义文档的内容。通过使用像< h 1>,< p>,< table>这样的标签他们应该表达的是“这是一个标题”,“这是一个段落”,“这是一张表格”,而布局该由浏览器来处理并非使用格式化标签.
• 为了解决这个难题,W3C (World Wide Web Consortium )这个非赢利的,建立标准的组织,为HTML4.0增加了样式.
• 所有主流浏览器都支持样式表
• 样式表定义元素怎样去显示.外部样式表能够让你改变所有出现在你WEB中的外观和布局,而仅仅通过编辑一个单独的CSS文档.(原理就是一动多变)
• CSS是一个在设计领域中的突破,因为它允许开发者一下就能控制多个WEB页的样式和布局.作为一名WEB开发者你可以为每个HTML元素和应用他的每个页面定义一个你想要的样式.来实现全面的改变,简单的改变样式,所有与之相关的元素都会自动
• 样式表允许样式信息用多种方式来定义.样式可以在一单独的HTML元素中指定,在元素中或在一外部CSS文件中.甚至多个外部样式表能集中在一个单一的HTML文档中
• 一般说来所有样式有下面的规则(第四个最有优先性)
• 所以写在HTML元素中的样式有最高的优先权(写在HTML元素内的),它会替代其他形式的样式
你可以在CSS中加入解释代码用的注释,这样可以方便你以后重新编辑代码。浏览器会忽略注释,注释一般以"/“开头”/"做结尾,像这样:
– /* This is a comment /
– p {– text-align: center;
– / This is another comment */
– color: black;
– font-family: arial
–}
怎样插入样式表?– 当浏览器阅读样式表,它会依据它(样式表)来格式化文档。有三种方法可以插入样式表
• 外部样式表(External Style Sheet)
• 内嵌样式表(Internal Style Sheet)
• 行内样式(Inline Styles)
• 使用外部样式表是使样式应用于多张网页的理想方法。通过这个方法你只需改动一个文件就能改变整个网站的外观。使用标签让每个页面都连接到样式表。标签在head区域使用
– < head>
– < link rel=“stylesheet” type=“text/css” href=“mystyle.css” />
– head>
– 浏览器将从mystyle.css文件中读取样式定义信息,并依据它来格式化文档
• 外部样式表可以用任何一个文字编辑器来书写。文件不应该包含任何的html标签。并保存为一个后缀为.css的文件.下面是一个样式表文件的内容
– hr {color: sienna}
– p {margin-left: 20px}
– body {background-image:
url(“images/back40.gif”)}
注意:请不要在属性值和其单位间加上空格!如果你用"margin-left: 20 px“来代替"margin-left: 20px"的话,这也许在IE6中能正常工作,但在Mozilla/Firefox或Netscape中就无法正常显示
一份内嵌样式表应该在当有单独文档有特殊样式的时候使用。使用< style>标签在head区域内定义样式,像这样
– < head>
– < style type=“text/css”>
– hr {color: red}
– p {margin-left: 20px}
– body {background-image: url(“images/back40.gif”)}
– style>
– head>
• 浏览器将立即读取样式定义,并依据它来格式化文档。
• 注意:浏览器一般会忽略未知的标签。这就意味着老的浏览器不能支持样式,会忽略
使用行内样式就失去了样式表的优势而将内容和形式相混淆了。一般这类方法在个别元素需要改变样式的时候使用。
在相关的标签上用style属性来加入行内样式。样式属性可以包含任何CSS属性。例子中将展示怎样给一个段落加上左间距并将颜色改为red
– < p style=“color: red; margin-left: 20px”> This is a paragraph p>
如果一些属性被相同的选择器设置成不同的样式,值就会向更为具体的样式所继承(具体化)。举个例子,一个外部样式表有这样的h3选择器属性– h3 { color: red; text-align: left; font-size: 8pt }同时有一个内嵌样式表有这样的h3选择器属性– h3 { text-align: right; font-size: 20pt }如果页面在有内嵌样式表的同时又连接到外部样式表的话h3的属性将变为– color: red; text-align: right; font-size: 20pt颜色是继承了外部样式表而文字对齐和文字大小被内嵌的样式表所替换。
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<link rel="stylesheet" type="text/css" href="../CSS/lab2Css.css">
head>
<body>
<h1>hello worldh1>
<hr>
<p>welcome to shenyangp>
<p><a href="http://www.baidu.com">This is a linka> p>
body>
html>
body{
background-color: white;
}
h1{
color: green;
font-size: 20pt;
}
hr{
background-color: black;
height: 5px;
border: none;
}
p{
font-size: 11pt;
margin-left: 15px;
}
/*鼠标没放上*/
a:link{
color:green;
}
/*访问过这个网站*/
a:visited{
color:yellow;
}
/*鼠标放上还没点*/
a:hover{
color:black;
}
/*鼠标点了没松开*/
a:active{
color:blue;
}
Http(Hypertext Transfer Protocol)超文本传输协议,从1990年开始就在WWW上广泛应用,是现今在WWW上应用得最多的协议,目前的版本为1.1
Http是应用层协议,当你上网浏览网页的时候,浏览器和服务器之间就会通过Http在Internet上进行数据的发送和接收
Http是一个基于请求/响应模式的,无状态的协议(request/response based ,stateless protocol)无状态代表服务器无法得知请求是谁发出的。
格式:
– http://host[: port] [abs_path]
– 其中http表示要通过HTTP协议来定位网络资源。
– Host表示合法的Internet主机域名或IP地址(以点分十进制格式表示)
– Port用于指定一个端口号,拥有被请求资源的服务器主机监听该端口的TCP连接。如果port是空,则使用缺省的端口80。
– abs_path指定请求资源的URI(Uniform Resource Identifier,统一资源标识符),如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出。通常这个工作浏览器就帮我们完成了
服务器端:
ServerSocket serverSocket = new ServerSocket(80);
serverSocket.accept();
客户端输入域名通过DNS解析为IP地址:
www.sohu.com + 80(浏览器自动加的端口号)-》DNS(DOmain Name Service)-》221.179.180.20:80
如果不是80端口号,需要手动加上。
SOcket socket = new Socket("221.179.180.20":80);
URI 纯粹是一个符号结构,用于指定构成Web资源的字符串的各个不同部分URL 是一种特殊类型的URI,它包含了用于查找某个资源的足够的信息。其他的URI,例如:mailto:[email protected],则不属于URL,因为它里面不存在根据该标识符来查找的任何数据。这种URI成为URN(通用资源名)
在接收和解释请求消息后,服务器会返回一个HTTP响应消息。
与HTTP请求类似,HTTP响应也是由三个部分组成,分别是:状态行,消息报头,响应正文
状态行由协议版本,数字形式的状态代码,相应的状态描述组成,各元素之间以空格分隔,除了结尾的CRLF(回车换行)序列外,不允许出现CR或LF字符。格式如下:
– HTTP-Version Status-Code Reason-Phrase CRLFHTTP
-Version表示服务器HTTP协议的版本,Status-Code表示服务器发回的响应代码Reason-Phrase表示状态代码的文本描述,CRLF表示回车换行,例如:
– HTTP/1.1 200 OK (CRLF)
状态代码由三位数字组成,表示请求是否被理解或被满足,状态描述给出了关于状态代码的简短文本描述
状态代码的第一个数字定义了响应的类别,后面两个数字没有具体的分类。第一个数字有五种可能的取值
– 1xx:指示信息—表示请求已接收,继续处理
– 2xx:成功—表示请求已经被成功接收,理解,接受
– 3xx:重定向—要完成请求必须进行更进一步的操作
– 4xx:客户端错误—请求有语法错误或请求无法实现
– 5xx:服务器端错误—服务器未能实现合法的请求
HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行,消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。
对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行
HTTP协议与TELNET协议都是基于TCP协议