前端与后端的概念
前端
任何与用户直接打交道的操作界面 都可以称之为前端>>>:接待员
后端
不直接与用户打交道 主要负责内部真正的业务逻辑的执行>>>:幕后操作者
前端学习之路
专业的前端也需要培训至少六个月 而我们作为后端开发工程师 前端只学最基本最核心的一块 目的不是为了让你直接可以从事前端 而是给你以后的工作提供方便
1.防止别人蒙你
2.可以自己编写简易的页面
3.逼急了甚至也可以转前端
前端三剑客
HTML 网页的骨架
CSS 网页的样式
JavaScript 网页的动态
"""
蜡笔小新光着身子 HTML
穿裙子 抹口红 CSS
丢根钢管 舞起来 JS
"""
前端前戏
1.编写服务端
2.浏览器充当客户端访问服务端
3.浏览器无法正常展示服务端内容(因为服务端的数据没有遵循标准)
4.HTTP协议>>>:最主要的内容就是规定了浏览器与服务端之间数据交互的格式
软件开发架构
cs架构:client-------->server
bs架构:browser------->server
# 前端其实就是bs端,页面就在浏览器中显示
'''我们学习前端只需要有浏览器即可,翻译前端代码的是浏览器'''
# 建议使用浏览器是:谷歌浏览器(兼容性是最好的)------->前端最难的就是解决兼容性问题
在浏览器中输入一个网址,到返回浏览器,渲染成页面,这个过程发生了那些事情
"""
1. 浏览器朝服务端发起请求
2. 服务端接收请求
3. 服务端开始处理请求,并返回数据
4. 数据返回给了浏览器,浏览器进行渲染,展示给用户
"""
# 浏览器就是万能的客户端,所以,浏览器有了,相当于客户端有了,我们就可以通过socket写一个服务端
浏览器是万能客户端,它可以充当很多服务端的客户端
# 浏览器是如何识别不同的服务端的?
'''是因为浏览器指定了统一的规则,你要是想让你的服务端和浏览器进行正常的交互,那么你就要遵循这个规则'''
# 这个规则就叫HTTP协议.
TCP/IP
HTTP协议
"""
超文本传输协议, 作用:就是规定了服务端和浏览器之间的数据交互格式.
"""
# 1. 四大特点
1. 基于请求和响应----------->浏览器发起请求-------->服务端做出响应
2. 基于TCP/IP协议之上的应用层协议
3. 无状态
# 网站在早期的时候是不需要登录的,新闻网站
'''不记录用户的信息,后来随着技术的发展,诞生了京东,支付宝,拼多多等,我们每个人要想使用这个网站,就必须登录,要登录,就要记录用户信息'''
# 能够记录用户信息的技术有:cookie、session、token...
4. 短链接
# 客户端和服务端建立链接之后,客户端发送一些请求,服务端响应一次,然后断开
# 长链接:一旦建立链接,不会立马断开,中间有间隔
'''客服系统------->长链接'''
# 2. 请求数据格式
2.1 请求首行(HTTP协议的版本号,请求方式)
2.2 请求头(一堆k:v键值对)
2.3 \r\n
2.4 请求体
'''不是所有的请求方式都有,get请求方式没有请求体,post请求方式有请求体'''
# 请求体里面放的都是一些敏感数据
# 3. 响应数据格式
3.1 响应首行(HTTP协议的版本号,响应状态码)
3.2 请求头(一堆k:v键值对)
3.3 \r\n
3.4 请求体
# 响应状态码
'''就是通过用一串简单的数字代码一段复杂的描述信息''' 404
1XX:服务端接收到消息正在处理
2XX:代表请求成功(200 OK)
3XX:重定向(向直接进入到A页面,但是内部自动跳转了B页面)
4XX:
404:请求资源不存在
403:没有权限
5XX:500 服务器内部错误
# 以后你想深入学习HTTP协议的话,推荐一本书:图解HTTP,图解TCP
# 补充:请求方式
1. get
# 朝服务端要数据
eg: 在网址栏里输入baidu.com
'''没有请求体,数据放在哪里了?跟在了网址的后面'''
https://www.baidu.com/s?k=v&k1=v1&k2=v2
https://www.baidu.com/s?wd=美女&ie=utf-8&
2. post
# 朝服务端提交数据
eg:你在登录网站的时候,输入用户名和密码,然后把用户名和密码提交到服务端进行验证
HTML简介
1.直接发送手写的数据
2.转为发送文件里面的数据
3.编写HTML出现特殊的现象
超文本标记语言:所见即所得(没有任何逻辑 是什么就是什么)
HTML概览
1.HTML注释语法
<!--注释内容-->
2.HTML文档结构
<html> 固定格式 html包裹
<head>主要放跟浏览器交互的配置</head>
<body>主要放给用户查看的花里胡哨的内容</body>
</html>
3.HTML标签分类
单标签(自闭和标签)
<img/>
双标签
<h1></h1>
预备知识
1.网页信息数据一般也会存放于文件中
.html
2.pycharm支持前端所有类型的文件编写
内置有自动补全的功能 我们只需要专注于标签名的编写即可
3.html文件的打开
内置有自动调用浏览器的功能
head内常见标签
1.title网页小标题
2.meta定义网页源信息(很多配置)
<meta name="keywords" content="查询关键字">
<meta name="description" content="网页简介">
3.style内部支持编写css代码
<style>
h1 {
color: greenyellow;
}
</style>
4.link引入外部css文件
<link rel="stylesheet" href="mycss.css">
5.script支持内部编写js代码也可以引入外部js文件
<script>
prompt('好好活着','不要浪费生命')
</script>
<script src="myjs.js"></script>
ps:了解每个标签大致的作用即可
body内基本标签
1.标题系列标签
h1~h6
2.段落标签
p
3.其他标签
u 下划线
i 斜体
s 删除线
b 加粗
ps:相同效果可能是有不同的标签实现的 不是独一无二的
4.换行与分割线
br 换行
hr 分割线
"""
标签的分类二
行内标签 u i s b
内部文本多大就占多大
块儿级标签 h系列 p
独占一行
"""
常见符号
1. 空格
2.> 大于
3.< 小于
4.& &符
5.¥ ¥
6.© ©
7.® ®
body内布局标签
div
块儿级标签
span
行内标签
"""
标签之间可以相互嵌套 并且理论上可以无线套娃
块儿级标签内部可以嵌套块儿级标签和行内标签
p标签虽然是块儿级标签 但是它的内部也不能嵌套块儿级标签
行内标签内部只能嵌套行内标签
"""
body内常用标签
"""
标签括号内填写的 什么=什么 称之为的标签的属性
1.默认属性
标签自带的 编写的时候有自动提示
2.自定义属性
用户自定义 编写不会有提示甚至会飘颜色
"""
a标签 链接标签
href
1.填写网址 具备跳转功能
href='url'
2.填写其他标签的id值 具备锚点功能
href='#id'
target
默认_self原网页跳转
_blank新建网页跳转
img标签 图片标签
src
1.填写图片地址
2.还有更多特性 目前没法讲
title
鼠标悬浮在图片上自动展示的文本
alt
图片加载失败提示的信息
width\height
图片的尺寸 两者调整一个即可 等比例缩放
列表标签
无序列表
<ul>
<li>手机</li>
<li>衣物</li>
<li>电子</li>
</ul>
ps:页面上所有有规则排列的横向或者竖向的数据 一般使用的都是无序列表
有序列表
<ol type="I">
<li>111</li>
<li>222</li>
<li>333</li>
</ol>
ps:还可以通过type竖向切换数字
标题列表
<dl>
<dt>大标题</dt>
<dd>小标题1</dd>
<dd>小标题2</dd>
<dt>大标题</dt>
<dd>小标题1</dd>
<dd>小标题2</dd>
<dd>小标题3</dd>
</dl>
表格标签
1.先写基本骨架
<table>
<thead></thead>
<tbody></tbody>
</table>
2.再写表头及表单数据
<tr> 一个tr标签就表示一行
<th>编号</th> th主要用于表头字段中 用来加粗显示
<th>姓名</th>
<th>年龄</th>
</tr>
<tr>
<td>1</td> td主要用于表达数据中
<td>jason</td>
<td>18</td>
</tr>
<table>
<thead>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>jason</td>
<td>18</td>
</tr>
</tbody>
</table>
表单标签
可以获取到用户的数据并发送给服务端
form标签
action 控制数据的提交地址
method 控制数据的提交方法
input标签(类似于前端的变形金刚)
type属性
text 普通文本
password 密文展示
date 日期选项
email 邮箱格式
radio 单选
checkbox 多选
file 文件
submit 触发提交动作
reset 重置表单内容
button 暂无任何功能
select标签 下拉框
option标签 一个个选项
textarea标签 获取大段文本
input标签应该有name属性
name属性相当于字典的键 input标签获取到的用户数据相当于字典的值
点击发送就会组织成字典的形式发送给服务端 这样才具有明确意义
标签:body,head,浏览器,请求,标签,前端,HTML,服务端
From: https://www.cnblogs.com/whxx/p/17306727.html