首页 > 其他分享 >【前端】第一回 前端基础

【前端】第一回 前端基础

时间:2022-08-22 22:12:57浏览次数:47  
标签:基础 前端 sock server 第一回 HTML 标签 服务端

目录

1. 前端简介

1.1 前端与后端

  1. 前端:与用户直接打交道的操作界面都可以称之为是前端
  2. 后端:不直接与用户打交道的内部真正执行核心业务逻辑的代码程序

1.2 前端的学习

真正的前端工程师也需要学习很长时间,我们作为后端工程师对前端目前只做最核心的了解

1.3 前端核心基础

HTML CSS JS(javascript)
网页的骨架 网页的样式 网页的动态

2. 超文本传输协议前戏

2.1 手写一个服务端程序

import socket

server = socket.socket()
server.bind(('127.0.0.1', 8080))
server.listen(5)
sock, addr = server.accept()
while True:
    data = sock.recv(1024)
    print(data)
    sock.send(b'hello baby')

2.2 使用浏览器充当客户端

在浏览器输入127.0.0.1:8080

2.3 浏览器端无法直接展示服务端的响应数据

2.4 协议

浏览器需要兼容很多服务端软件,为了实现无障碍沟通交流有了一些协议HTTP协议、FTP协议、HTTPS协议

2.5 响应数据格式

浏览器发送的请求数据格式肯定没有问题,因为别人早就封装好了,问题出在我们自己写的服务端的响应数据格式

import socket

server = socket.socket()
server.bind(('127.0.0.1', 8080))
server.listen(5)

sock, addr = server.accept()
data = sock.recv(1024)
print(data)
# sock.send(b'HTTP/1.1 200 OK\r\n\r\nhello baby')
sock.send(b'HTTP/1.1 200 OK\r\n\r\n')
sock.send(b'hello baby')


基于文件传输数据

import socket

server = socket.socket()
server.bind(('127.0.0.1', 8080))
server.listen(5)

sock, addr = server.accept()
data = sock.recv(1024)
print(data)
# sock.send(b'HTTP/1.1 200 OK\r\n\r\nhello baby')
sock.send(b'HTTP/1.1 200 OK\r\n\r\n')
# sock.send(b'hello baby')
with open(r'a.txt','rb') as f:
    sock.send(f.read())

a.txt
<h1>hello big baby</h1>
hello big baby
<a href="http://www.baidu.com/">hello hello</a> 
<img src="https://img0.baidu.com/it/u=155276595,173864794&fm=253&fmt=auto&app=120&f=JPEG?w=889&h=500"/>

3. HTTP超文本传输协议

3.1 四大特征

  1. 基于请求响应(客户端主动,服务端被动)
  2. 基于TCP/IP之上作用应用层的协议
    七层协议:应用层、表示层、会话层、传输层、网络层、数据链路层、物理连接层
  3. 无状态(服务端记不住你是谁,无论你来了多少次,都当第一次见面)
  4. 无/短连接(彼此之间不会有长连接)

3.2 数据格式

  1. 请求数据格式
    1. 请求首行(请求方式(有很多种 协议名称及版本))
    2. 请求头(一大堆k:v键值对)
    3. 换行
    4. 请求体(携带一些敏感的数据,不是所有的请求都有请求体)
  2. 响应数据格式
    1. 响应首行(响应状态码)
    2. 响应头(一大堆k:v键值对)
    3. 换行
    4. 响应体(一般情况下就是浏览器再展示给用户看的数据)

3.3 响应状态码

  1. 利用数字来表示一些复杂的情况说明(类似于暗号)
格式 说明
1XX 服务端已经接收到你的请求正在处理,你可以继续提交或者等待
2XX 200 OK 服务端给出了相应响应
3XX 重定向
4XX 403请求不符合条件,404请求资源不存在
5XX 服务端内部错误
  1. 我们在公司中还会自己定义更多的状态码,一般情况下从10000开始

4. HTML简介

  1. 超文本标记语言,是所有浏览器展示的页面必备的
  2. 浏览器展示的界面我们也称之为HTML页面,存储HTML语言的文件后缀一般是.html
  3. HTML没有任何的逻辑,所见即所得
  4. HTML注释语法
  5. HTML文件结构
 <html>  所以的代码都必须写在html标签内部     
     <head></head>    head内的数据一般都不是给用户看的       
     <body></body>    body内的数据就是浏览器展示给用户看的  
 </html> 



6. HTML标签的分类

  1. 单标签(自闭和标签) eg:
  2. 双标签
  3. HTML代码是不讲究缩进的,我们只是习惯了python的缩进语法

5. hesd内常见标签

标签 意义
title 定义网页标题
style 内部支持编写CSS
link 引入外部CSS文件或网站图标
script 内部支持编写JS代码,还可以通过src属性引入外部JS文件
meta 通过内部属性的不同可以有很多功能
<meta name="keywords" content="填写一些关键字,提升网页被搜索的概率">
<meta name="description" content="填写一些网页的简介">  

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>我的html文件</title>
<!--        <style>-->
<!--            body{-->
<!--                color: aqua;-->
<!--            }-->
<!--        </style>-->
        <link rel="stylesheet" href="mycss.css">
        <script>
            confirm('hello hello')
        </script>
    </head>
    <body>
      hello baby
    </body>
</html>

6. body

6.1 内基本标签

标签 意义
h1~h6 标题标签
p 段落标签
br 换行符
hr 水平分割线
u 下划线
i 斜线
s 删除线
b 加粗

6.2 快儿级标签与行内标签

  1. 块儿级标签:h1~h6 p hr br 一个标签独占一行
  2. 行内标签:u i s b 内部文本多大自身就占多大

6.3 body内基础符号

符号 意义
  空格
> 大于号
< 小于号
& &
¥
® 注册
© 版权

6.4 body内布局标签

div
   块儿级标签
span
   行内标签
  1. 块儿级标签是可以通过CSS调整为不独占一行
  2. 标签之间很多时候可以嵌套
  3. 块儿级可以嵌套任何类型的标签
  4. p标签虽然是块儿级标签,但是不能块儿级标签
  5. 行内标签只能嵌套行内标签

6.5 body内常见标签

  1. a标签 链接标签
    href 可以填写网址,点击自动跳转
    href 还可以填写其他标签的id值,实现锚点功能
    target 可以控制是否新建页面跳转 _self _blank
  2. img标签 图片标签
    src 填写图片地址(网路地址 本地地址)
    title 鼠标悬浮在图片上就会有提示信息
    alt 图片加载失败提示的信息
    height 调整图片的高度
    width 调整图片的宽度 调整一个另外一个等比例缩放

7. 标签两个重要属性

下面的两个属性都是用来快速定位需要操作的标签

  1. id性(一对一管理)
    类似于身份证号,在同一个html页面上,id值不能重复
  2. class属性(批量管理)
    类似于分组,多个标签可以拥有相同的class值

8. 列表标签

8.1 无序列表

页面上有规则排列的横向或者竖向的多个元素几乎使用的都是无序列表
有序列表

<body>
<!--无序列表-->
<ul type="square">
  <li>python</li>
  <li>mysql</li>
  <li>html</li>
</ul>
</body>


type属性:
disc(实心圆点,默认值)
circle(空心圆圈)
square(实心方块)
none(无样式)

8.2 有序列表

<ol type="A">
  <li>第一项</li>
  <li>第二项</li>
  <li>第三项</li>
</ol>

type属性:
1 数字列表,默认值
A 大写字母
a 小写字母
Ⅰ大写罗马
ⅰ小写罗马

8.3 标题列表

<dl>
      <dt>标题1</dt>
        <dd>内容1</dd>
      <dt>标题2</dt>
        <dd>内容1</dd>
        <dd>内容2</dd>
    </dl>

9. 表格标签

 <table border="1">
        <thead>
            <tr>
              <th>序号</th>
              <th>用户名</th>
              <th>密码</th>
            </tr>
        </thead>
        <tbody>
            <tr>
              <td>1</td>
              <td>jason</td>
              <td>123</td>
            </tr>
            <tr>
              <td>2</td>
              <td>zhang</td>
              <td>111</td>
            </tr>
        </tbody>
     </table>

属性:
border: 表格边框.
cellpadding: 内边距
cellspacing: 外边距.
width: 像素 百分比.(最好通过css来设置长宽)
rowspan: 单元格竖跨多少行
colspan: 单元格横跨多少列(即合并单元格)

10. 表单标签

能够获取用户输入(输入、选择、上传)的数据并发送给后端服务器

<form action="" method=""></from>
action属性:用于控制数据的提交地址,不写的话就是朝当前页面所在的地址提交
method属性:用于控制请求的方式(get\post)
    <h1>用户注册</h1>
  <form action="" method="post">
    <p>username:<input type="text"></p>
    <p>password:<input type="password"></p>
    <p>birthday:<input type="date"></p>
    <p>emali:<input type="email"></p>
    <p>gender:
      <input type="radio" name="gender" checked>男
      <input type="radio" name="gender">女
      <input type="radio" name="gender">其他
    </p>
    <p>hobby:
      <input type="checkbox" name="hobby" checked>篮球
      <input type="checkbox" name="hobby">足球
      <input type="checkbox" name="hobby">双色球
    </p>
    <p>file:
      <input type="file" >
    </p>
    <p>files:
      <input type="file" multiple>
    </p>
    <input type="submit">
  </form>

 <p>province:
      <select name="" id="">
        <option value="">北京</option>
        <option value="">上海</option>
        <option value="">河南</option>
      </select>
    </p>
    <p>GF:
      <select name="" id="" multiple>
        <option value="">小明</option>
        <option value="">小王</option>
        <option value="">小李</option>
        <option value="">小天</option>
      </select>
    </p>
    <p>info:
      <textarea name="" id="" cols="30" rows="10"></textarea>
    </p>
    <input type="submit" value="用户注册">
    <input type="reset" value="重置内容">
    <input type="button" value="普通按钮">

标签:基础,前端,sock,server,第一回,HTML,标签,服务端
From: https://www.cnblogs.com/cainiaozhy/p/16614431.html

相关文章

  • 前端HTML
    今日内容前端简介一、前端与后端1.前端 与用户直接打交道的操作界面都可以称之为是前端2.后端(幕后的工作者) 不直接与用户打交道的内部真正执行核心业务逻辑的代码......
  • 前端HTML
    前端前端简介1.前端与后端的区别1.1前端前端是指用户可见界面,与用户直接交互的操作界面都可以称为前端1.2.后端后端是用户看不见的,不直接与用户交互的内部执行核心业......
  • .NET基础入门
    .Net平台概念:.net与C#.net/dotnet:一般指.NetFramework框架,一种平台,一种技术。C#(sharp):一种编程语言,可以开发基于.net平台的应用。(*)Java即是一种平台又是一种编程语言......
  • zabbix基础入门
    zabbix基础入门zabbix快速入门C/S架构的服务服务端:zabbix-server客户端:zabbix-agentzabbix官网:https://www.zabbix.com/#1.下载zabbix的yum源rpm-Uvhhttps......
  • 前端
    目录前端一、简介1.前端2.后端3.前端的学习4.前端的核心基础二、超文本传输协议三、HTTP超文本传输协议1.四大特性2.数据格式3.响应状态码四、HTML1.简介2.语法3.head内常......
  • 前端html页面基础,元素,超文本标记语言
    前端什么是前端前端核心超文本传输协议前戏HTTP超文本传输协议什么是超文本传输协议HTTP传输协议四大特性数据格式响应状态码html简介head内常见的标签......
  • 【Java基础】求数组的最大值,最小值,和值,平均值
    1.实现int[]arr=newint[10];//赋值for(inti=0;i<arr.length;i++){arr[i]=(int)(Math.random()*90+10);......
  • 前端1/HTML/head/body
    前端简介HTTP超文本传输协议HTML简介head内常见标签body内常见标签前端简介前端网站前台部分,运行在浏览器,展现用户浏览的,与用户打交到的。后端是不直接与用户打交......
  • 【Java基础】二维数组实现杨辉三角
    1.什么是杨辉三角每一行头尾都为1,每个数都等于上面两个数之和arr[3][1]=arr[2][0]+arr[2][1];arr[3][2]=arr[2][1]+arr[2][2];2.实现int[][]arr=new......
  • 浏览器数据库IndexedDB和前端多线程webWorker在3D场景中的实战应用
    背景1.IndexedDB就是浏览器提供的本地数据库,它可以被网页脚本创建和操作。2.在3D场景中模型数据很大,有可能存在数十万级的数据存储,大量数据存储在内存中会很容易导致内......