前端基本知识


前端简介

前端
任何与用户直接打交道的界面都可以称之为前端
后端
不直接与用户打交道的用于执行真正业务逻辑的代码
HTM CSS JavaScript jQuery(框架)Bootstrap(框架)
只要学习前端看到要学'前端三剑客':HTML CSS JavaScript
	HTML:网页的骨架
    	蜡笔小新不穿衣服 赤裸裸的(难看)
    CSS:网页的样式
    	穿上衣服 化好妆(好看)
    JavaScript:网页的动态效果
      扭起来 跳起来 动起来(生动)

HTTP简介

# 充当客户端
1.自己写的python代码(TPC客户端)
2.其他人写的浏览器
'''cs架构与bs架构:bs本质也是cs'''
# 问题
我们写的TPC服务端与浏览器之间通信 但是浏览器不识别服务端数据
# 推到
服务数据的组织策略的组织的区别 但是浏览器却需要做到能够统一处理
最佳的解决方法是统一一个标准:HTTP协议
# HTTP协议
	规定了服务端与浏览器之间的数据交互格式及其他事项
  """
  如果服务端遵循HTTP协议 就可以被浏览器正常访问并展示内容
  如果服务端不遵循HTTP协议 浏览器就不会正常访问和展示 但是不影响服务端
  	如果这个应用特别火爆 那么完全可以让用户下载专属的客户端(app)
  """

HTTP协议

# 1.四大特性
1.基于请求,响用
服务端永远不会主动给客户端发消息 必须是客户端先请求服务 服务端被动响应
2.基于TPC/IP作用于应用层之上的协议
应用层协议:HTTP HTTPS FTP ...
3.无状态
服务端不保存客户端状态(纵使见她千百遍 我都当她如初见)
4.短连接
  	不保持客户端与服务端之间的链接导通
    	补充:websocket(长连接) 主要用于加好友聊天等业务
# 2.数据格式
	请求格式:客户端给服务端发送消息应该遵循的数据格式
    1.请求首行(请求方法 协议版本)
    2.请求头(一大堆k:v键值对)
    3.(换行不能省略)
    4.请求体(携带敏感数据:密码 身份照号...) 不是一直都有
    响应格式:服务端给客户端发送消息应该遵循的数据格式
    1.响应首行(响应状态码 协议版本)
    2.响应头(一大堆k:v键值对)
    3.(换行不能省略)
    4.响应体(给浏览器展示给用户看的页面内容)
# 3.响应状态码
用数字来表示一串中文意思(简化理解)
1XX:服务端成功接收到了你的数据正在处理 你可以等待或者继续发送
2XX:200 OK  表示请求成功 服务端给出了响应
3XX:301\302 表示重定向(想访问A页面但是自动跳转到了B页面)
4XX:403请求不合法(权限不够)	404请求资源不存在
5XX:都是服务端错误  与客户端无关(代码bug、机房炸了...)
  在工作中还会自定义状态码(因为默认的不够)
# 自定义状态码一般都是从10000开始

HTML简介

hello

click me # 上述语法就是HTML 用于构建网页的骨架(所有的网页都是由HTML组成) 1.存放HTML代码的文件后缀名一般都是.html 2.HTML:超文本标记语言 它没有任何的逻辑 固定搭配 """所见即所得""" 3.HTML文档结构 给浏览器看的数据 给用户看的数据 4.HTML标签的分类 1.双标签:有头有尾 内容写在中间

2.自闭合标签:单标签 一般有特殊功能 5.HTML注释语法 '''html由于标签非常的多 所以可以通过注释区分页面区域'''

html一些用法

1.如何打开html标签
  1.查找并右键选择打开方式
  2.pycharm快捷方式(重要)
  	html文件内容区右上方浏览器图标
 
2.html标签其实没有缩进的概念
	之所以缩进是因为我们习惯了 更加美观

3.在pycharm中的html文件内
	编写标签只需要写表名名称即可 按tab键自动补全
 
4.在pycharm中的html文件内
	注释的快捷键也是ctrl+?

head内常见标签

# head标签内编写的标签一般都是给浏览器看的
  title标签			控制网页小标题
  style标签			内部支持编写css代码
  link标签			引入外部css文件
  script标签		内部支持编写js代码 也可以通过src属性引入外部js文件
  meta标签			功能非常多
  								keywords:搜索引擎查询关键字
    							description:用于展示页面搜索结果的文本描述
"""
正常的业务逻辑 HTML CSS JS都会分不同的文件存储 用于解耦合
"""

body内基本标签

1.标题系列
	h1~h6(1到6级标题)
2.字体系列
	斜体
  加粗
  下划线
  删除线
3.文本段落
	

4.其他 hr 水平分割线 br 换行符

body内特殊符号

 		空格
>			大于号
<			小于号
&			&符号
¥			羊角符
©		版权	
®			商标

body内常见标签

"""
标签的类别
	块儿级标签:h1~h6 p	div
		默认独占浏览器一行内 
	行内标签:s i u b span
		自身内部文本多大就占多大
	
标签之间支持嵌套(最好是布局类相关标签参与)
	块儿级标签可以嵌套任意标签
		不属于布局标签的块儿级标签不建议嵌套块儿级标签
	行内标签只能嵌套行内标签
"""
1.布局标签
	div
  span
  # 页面的编写首先就是先用布局标签占位 之后填充内容即可
  ps:课下随便找几个网站查看一些div的使用

2.图片标签
	img
  	src			图片路径
    title		鼠标悬浮自动展示提示信息
    alt	  	当图片无法正常展示自动提示的信息
    height 	自定义图片高度
    width   自定义图片宽度
    # height和width调整一个另外一个自适应调节 单位是px(像素)
    
3.链接标签
	a
  	href	  点击跳转到位置
    					可以写网址
      					
      				也可以写标签id值
          			
    target	控制是否当前页跳转
    					默认_self当前页
      				设置_blank新建页

标签的两大重要参数

1.id
	类似于身份证号 同一个html页面上标签的id值不允许重复
  用于精确查找某个标签(因为一个html页面上相同标签名的标签太多)
2.class
	类似于面向对象知识 可以将多个标签归为一类 分类查找(范围查找一次性多个)

列表标签

# 无序列表
	
  • 001
  • 002
  • 003
  • 004
  • 005
""" 无序列表是使用频率最高的列表标签 页面上只有是有规则排列的横向或者竖向内容 几乎使用的都是无序列表 """

表格标签

编号 姓名 年龄
1 jason 18
2 tony 28
3 kevin 38