在浏览器中敲入网址发生了几件事情
1.浏览器向服务端发送请求数据
2.服务端接收请求发送响应数据
3.服务端发送响应数据
4.浏览器接收响应 根据特定的规则来渲染页面给用户展示(响应数据跳转页面)
超文本传输协议
规定服务器与浏览器消息传输的数据格式
1.基于请求响应
2.基于TCP(传输协议)/IP( 地址) 之上的作用于应用层的协议
3.无状态(服务端不保存用户的状态)
4.无连接(请求一次,就响应一次,之后就立马端来连接,两者无任何关系)
如QQ,陌陌,之类的交友软件,用的是WEBSOCKET,相当于是HTTP协议的一个大的补丁,支持长连接.
get请求
朝服务器要资源
如:在浏览器中输入www.baidu.com
post请求
朝服务器提交资源
如:用户登录时,提交用户和密码
URL:统一资源定位符(网址)
超文本标记语言
要想让你的页面能够被浏览器正常显示出来,就的遵守HTML协议
也就是说,所有能够被浏览器显示的页面,内部都是HTML代码
浏览器只认识 html , css , ml
网页文件的扩展名:.html或.htm
浏览器 与 服务器
文件 (后缀以 .html 结尾的文件 是 前端页面文件)
文件的后缀名 只是为了给人看 ,知道哪种类型文件,而相对于计算机来讲,只是一堆二进制数据
写网页的一套规范
注释:
单行注释
<!--单行注释-->多行注释
<!-- 多 行 注 释 --> 一般情况下 html的注释都会按照下面的方式书写 <!--导航条样式开始--> <!--导航条样式结束-->1.找到文件路径,选择浏览器打开
2.用pycharm快捷方式打开
单标签
标签是单独呈现的
自闭和标签 <img/> <br/>、<hr/>双标签
第一个标签是开始,第二个标签是结束。结束标签会有斜线
<a></a> <p></p> <h3></h3> <h2></h2>块级标签
独占浏览器一行 如: <div></div> <h></h>系列的 <p></p> 1.快级标签 可以修改长度 2.p标签 不能嵌套其他块级标签,也不能嵌套p标签,但可以嵌套行内标签总结:
只要是块级标签,都可以嵌套行内标签
p标签只能嵌套行内标签,其他块级标签可以嵌套任意的块级标签
行内标签
文本有多大,就占多大,由文本的内容撑开 <span></span> <b>加粗</b> <i>斜体</i> <u>下划线</u> <s>删除</s>div标签用来定义一个块级元素,span标签用来定义内联(行内)元素
div标签 和span 标签 通常是用来构建网页布局的
1.无序列表
<ul type="disc"> <li>第一项</li> <li>第二项</li> </ul> type属性: disc(实心圆点,默认值) circle(空心圆圈) square(实心方块) none(无样式)2.有序列表
<ol type="1" start="2"> <li>第一项</li> <li>第二项</li> </ol> type属性: 1 数字列表,默认值 A 大写字母 a 小写字母 Ⅰ大写罗马 ⅰ小写罗马3.标题列表
<dl> <dt>标题1</dt> <dd>内容1</dd> <dt>标题2</dt> <dd>内容1</dd> <dd>内容2</dd> </dl>
<table> <thead></thead> <tbody></tbody> </table> tr表示一行 th和td都是文本 建议在thead内用th tbody内用td 属性: border: 表格边框. cellpadding: 内边距 cellspacing: 外边距. width: 像素 百分比.(最好通过css来设置长宽) rowspan: 单元格竖跨多少行 colspan: 单元格横跨多少列(即合并单元格)
能够接收用户输入(输入 选择 上传)并将其发送给后端
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h2>注册页面</h2> <form action="http://127.0.0.1:5000/index/" method="post" enctype="multipart/form-data"> <p><label for="d1">username:<input type="text" id="d1" name="username"></label></p> <p><label for="d2">password:<input type="password" id="d2" name="password"></label></p> <p> <label for="d3">birthday:</label> <input type="date" id="d3" name="birth"> </p> <p>性别: <input type="radio" name="gender" checked value="male">男 <input type="radio" name="gender" value="female">女 </p> <p>爱好: <input type="checkbox" name="hobby" value="basketball">篮球 <input type="checkbox" name="hobby" value="football">足球 <input type="checkbox" name="hobby" checked value="doublecolorball">双色球 </p> <p>省市: <select name="province" id=""> <option value="sh">上海市</option> <option value="bj">北京市</option> <option value="sz">深圳市</option> </select> </p> <!--<p>伴侣:--> <!-- <select name="" id="" multiple>--> <!-- <option value="" selected>新垣结衣</option>--> <!-- <option value="" selected>斯嘉丽</option>--> <!-- <option value="">明老师</option>--> <!-- </select>--> <!--</p>--> <!--<p>省市1:--> <!-- <select name="" id="">--> <!-- <optgroup label="上海">--> <!-- <option value="">嘉定区</option>--> <!-- <option value="" selected>浦东新区</option>--> <!-- <option value="">静安区</option>--> <!-- </optgroup>--> <!-- <optgroup label="北京">--> <!-- <option value="">朝阳区</option>--> <!-- <option value="">海淀区</option>--> <!-- <option value="">昌平区</option>--> <!-- </optgroup>--> <!-- <optgroup label="安徽">--> <!-- <option value="">芜湖市</option>--> <!-- <option value="">合肥市</option>--> <!-- <option value="">安庆市</option>--> <!-- </optgroup>--> <!-- </select>--> <!--</p>--> <p>头像: <input type="file" name="avatar"> </p> <p>个人简介: <textarea name="info" id="" cols="30" rows="10"></textarea> </p> <!--<p>隐身--> <!-- <input type="hidden">--> <!-- --> <!--</p>--> <input type="submit" value="注册1"> <input type="button" value="注册2"> <input type="reset" value="注册3"> <button>button标签</button> </form> </body> </html> View Code<input> 元素会根据不同的 type 属性,变化为多种形态。
type text:普通文本 password:密文 不展示明文 date:日期 submit:触发提交动作 button:普通按钮 没有实际意义 但是可以通过js绑定事件实现自定义动作 reset:重置表单内容 radio:单选 可以通过checked控制默认选择(当属性值和属性名相同的情况下 可以简写 checked) checked="checked" checkbox:多选 同上 可以设置默认值 file:获取用户上传的文件 hidden:隐藏输入框(防呆标签) 属性说明: name:表单提交时的“键”,注意和id的区别 value:表单提交时对应项的值 type="button", "reset", "submit"时,为按钮上显示的文本按钮内容 type="text","password","hidden"时,为输入框的初始值 type="checkbox", "radio", "file",为输入相关联的值 checked:radio和checkbox默认被选中的项 readonly:text和password设置只读 disabled:所有input均适用
小结:
form表单默认是get请求 你需要通过method参数 换成post提交 form表单中 要想触发提交动作 只有两种情况可以 1.input标签type指定成submit 2.直接写button标签 获取用户输入(输入 选择 上传...)的标签 都必须有一个name属性 这个name属性就类似于字典的key,而标签获取到的用户写入的值就类似于字典的value <input type="text" id="d1" name="username" value="默认值"> name就相当于是字典的key value就是字典的值 获取都的用户输入都会被放入value属性中 form表单传文件的时候 需要指定enctype参数
转载于:https://www.cnblogs.com/komorebi/p/11456235.html
相关资源:JAVA上百实例源码以及开源项目