首页 > 其他分享 >前端之HTML

前端之HTML

时间:2022-11-30 21:44:21浏览次数:72  
标签:网页 标签 前端 HTML conn 浏览器 服务端

目录

前端引入知识

前端

​ 任何与用户直接打交道的操作页面,都可以称之为前端(手机页面app、电脑页面软件、平板页面软件)

后端

​ 不直接与用户打交道,而是控制核心逻辑的运行。

​ eg:各种编程语言编写的代码(python代码、java代码、c++代码)

前端三剑客

1.HTML       网页的骨架(没有样式很难看)
2.CSS        网页的样式(给骨架美化)
3.JavaScript 网页的动态(丰富用户体验)

什么是HTML?

1.超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言。
2.本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页。对于不同的浏览器,* 对同一个标签可能会有不同的解释。(兼容性问题)
3.网页文件的扩展名:.html或.htm

注意:HTML是一种标记语言(markup language),它不是一种编程语言。 HTML使用标签来描述网页。

image

前端引入

1.编写前端的步骤

​ 1.编写服务端
​ 2.浏览器充当客户端访问服务端
​ 3.浏览器无法正常展示服务端内容(因为服务端的数据没有遵循标准)
​ 4.HTTP协议>>>:最主要的内容就是规定了浏览器与服务端之间数据交互的格式

2.前端BS架构

我们在编写TCP服务端的时候,针对客户端的选择可以是自己写的客户端代码,也可以是浏览器充当客户端(b/s本质也是c/s架构)

3.搭建服务器 ()浏览器访问

服务端

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

while True:
    conn,addr = server.accept()
    while True:
        data = conn.recv(1024)
        if data == 0:
            break
        print(data)
        server.send(b'hello friend')

浏览器客户端访问结果

image

解决方法

​ 浏览器可以访问很多服务端 如何做到无障碍的与这么多不同程序员开发的软件实现数据的交互。

​ 1.浏览器自身功能强大 自动识别并切换(太过消耗资源)

​ 2.大家统一一个与浏览器交互的数据方式(统一思想) 统一标准 就是:HTTP协议

HTTP协议

1.什么是HTTP协议

HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,统一资源定位符)。

​ eg: 博客园的地址:https://www.cnblogs.com/

2.四大特性

2.1、基于请求响应
客户端发送请求 服务端回应响应。服务端永远不会主动给客户端发消息,如果想让服务端主动给客户端发送消息可以采用其他网络协议

2.2、基于TCP、IP作用于应用层之上的协议
该协议属于应用层
2.3、无状态
服务端不会保存客户端的状态(不保存客户端的状态信息)
"纵使见她千百遍 我都当她如初见"

​ 2.4、无\短连接
​ 客户端与服务端不会长久保持连接(两者请求响应之后立刻断绝关系)
​ 如果想要长链接

3.数据格式

​ 3.1 请求格式

请求首行(请求方式(有很多种) 协议版本)
请求头(一大堆K:V键值对)
换行
请求体(存放敏感信息 并不是所有的请求方式都有请求体)

​ 3.2 响应格式

响应首行(状态码 协议版本)
响应头(一大堆K:V键值对)
换行
响应体(存放给浏览器展示的数据)

3.响应状态码

​ 3.1 响应状态码

用数字来表示一串中文意思 xx表示不确定
1XX:服务端已经接受到了数据正在处理 你可以继续发送数据也可以等待
2XX:200 OK请求成功 服务端返回了相应的数据
3XX:重定向302(临时) 304(永久)(原本想访问A页面 但是自动跳转到了B页面) 
4XX:403没有权限访问  404请求资源不存在
5XX:服务器内部错误

image

​ 3.2 自定义状态码

公司还会自定义状态码 一般以10000开头
参考: 聚合数据  APL
作用:
后端写给前端的状态码

image

基于HTTP协议搭建HTML

简易版

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

while True:
    conn,addr = server.accept()
    data = conn.recv(1024)
    print(data)
    # conn.send(b'hello friend')
    # 遵循HTTP响应格式
    conn.send(b'HTTP/1.1 200 OK\r\n\r\n')
    # 格式化字体
    conn.send(b'<h1>hello friend<h1>')

结果展示

# 请求首行
b'GET / HTTP/1.1\r\n
# 请求头
Host: 127.0.0.1:8080\r\n
Connection: keep-alive\r\nCache-Control: max-age=0\r\nsec-ch-ua: "Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: "Windows"\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nSec-Fetch-Site: cross-site\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9\r\n\r\n'
请求体(当前为空)

网页版实现web

image

代码实现的过程:浏览器发送请求>>HTTP协议>>服务端接收请求>>服务端返回响应>>服务端把HTML文件内容发送给浏览器>>浏览器渲染页面

升级版网页搭建

服务器

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

while True:
    conn,addr = server.accept()
    data = conn.recv(1024)
    print(data)
    # conn.send(b'hello friend')
    # 遵循HTTP响应格式
    conn.send(b'HTTP/1.1 200 OK\r\n\r\n')
    # conn.send(b'hello friend')
    # 格式化字体
    conn.send(b'<h1>hello friend<h1>')
    # 跳转地址
    conn.send(b'<a href="https://gitee.com/dashboard">let us look this nets</a>')
    # 调整图片
    conn.send(b'<img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fnimg.ws.126.net%2F%3Furl%3Dhttp%253A%252F%252Fdingyue.ws.126.net%252F2021%252F1102%252F8425365aj00r1xzrs001wc000hs00a5g.jpg%26thumbnail%3D660x2147483647%26quality%3D80%26type%3Djpg&refer=http%3A%2F%2Fnimg.ws.126.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1672395835&t=d3103c40a1e0b6b3293dabab60be7d0b"/>')

    with open(r'a.txt','rb') as f:
        conn.send(f.read())

网页版演示

image

HTML

HTML简介

1.直接发送手写的数据
2.转为发送文件里面的数据
3.编写HTML出现特殊的现象

超文本标记语言:所见即所得(没有任何逻辑 是什么就是什么)
百度解析:
	HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。 
超文本是一种组织信息的方式,它通过超级链接方法将文本中的文字、图表与其他信息媒体相关联。这些相互关联的信息媒体可能在同一文本中,也可能是其他文件,或是地理位置相距遥远的某台计算机上的文件。这种组织信息方式将分布在不同位置的信息资源用随机方式进行连接,为人们查找,检索信息提供方便。

HTML概览

1.HTML注释语法

单行注释:<!--注释语法-->
多行注释:
    <!--
    多行注释
    多行注释
    -->

2.HTML文档结构

<html>
	<head></head>
	<body></body>
</html>

1.<html>  固定格式  html包裹
2.<head>  主要放跟浏览器交互的配置
3.<body>  主要放给用户查看的花里胡哨的内容

'''在使用编程工具创建的时候就会自动编写文档结构'''


eg:
    <!DOCTYPE html>
    <html lang="zh-cn">
        <head>
            <meta charset="utf-8" />
            <title>网页标题</title>
        </head>
            <body>
            </body>
    </html>

解析:
1.<!DOCTYPE html>	:声明为HTML文档
2.<meta charset="UTF-8">	:默认编码
3.<html>,</html>	:是文档开始标记和结束的标记。是HTML页面的根元素,在他们之间是文档的头部(head)和主体(body)
4.<head>,</head>:定义了HTML文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据。
5.<title>,</title>:定义了网页标题,在浏览器标题栏显示。
6.<body>,</boby>:之间的文本是可见的网页主体内容。
注意:对于中文网页需要使用 <meta charset="utf-8"> 声明编码,否则会出现乱码。有些浏览器会设置 GBK 为默认编码,则你需要设置为 <meta charset="gbk">。

3.HTML标签分类

1.单标签(自闭和标签)
	<img/>
2.多标签 (有头有尾)
	<h1></h1>

4.存网页文件、pycharm创建网页

image

HTML文档结构

head常见标签

标签 意义
title 定义网页标题
style 定义内部样式表
script 定义JS代码或引入外部JS文件
link 引入外部样式表文件或网站图标
meta 定义网页原信息

1.title网页小标题

image

2.meta定义网页源信息(很多配置)

meta		定义网页源信息
主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

eg:
<meta name="keywords" content="查询关键字">
<meta name="description" content="网页简介">

补充知识
1.指定该网址2秒后跳转到jd
<meta http-equiv="refresh" content="2;URL=https://www.jd.com">
2.keywords 关键字搜索
<meta name="keywords" content="物流,科技,奶茶,跳转">
3.description 网页描述信息(简介)
<meta name="description" content="恒运集团科技">

image

3.style内部支持编写css代码

	<style>
            h1 {
                color: green;
            }
    </style>

image

4.link引入外部css文件

  <link rel="stylesheet" href="mycss.css">

5.script支持内部编写js代码也可以引入外部js文件

1.内部写js代码
    <script>
          prompt('好好活着','不要浪费生命')</script>
    
2.引入外部js文件
    <script src="myjs.js"></script>

ps:了解每个标签大致的作用即可

image

整体代码展示:

image

body内标签

基本标签

h1-h6 标题标签
p 段落标签
u 下划线
i 斜体
s 删除线
b 加粗
br 换行(有其他符号也是换行的)
hr 分割线
标签的分类二:
	行内标签	u i s b
		内部文本多大就占多大
	块儿级标签	h系列 p 
		独占一行

image

常见符号

1.&nbsp; 	空格
2.&gt;		大于
3.&lt;		小于
4.&amp;		&符
5.&yen;		¥
6.&copy;	© 
7.&reg;		®

image

布局标签

div
	块儿级标签
span
	行内标签
"""
标签之间可以相互嵌套 并且理论上可以无线套娃
	块儿级标签内部可以嵌套块儿级标签和行内标签
		p标签虽然是块儿级标签 但是它的内部也不能嵌套块儿级标签
	行内标签内部只能嵌套行内标签
"""

eg:
    <p>123
        <p>321</p>
    </p>

image

常用标签

"""
标签括号内填写的 什么=什么 称之为的标签的属性
	1.默认属性
		标签自带的 编写的时候有自动提示
	2.自定义属性
		用户自定义 编写不会有提示甚至会飘颜色
"""
1.a标签		链接标签
	1.1 href
    	1.填写网址 			 具备跳转功能
        	href='url'
         2.填写其他标签的id值  具备锚点功能
    		 href='#id'
 	1.2 target
    	默认_self原网页跳转
       _blank新建网页跳转
    
2.img标签	图片标签
	2.1 src   属性指定图片地址
    	1.填写图片地址
   		2.还有更多特性 目前没法讲
  	2.2 title  属性写文本
    	鼠标悬浮在图片上自动展示的文本
	2.3 alt   属性编写文本
		图片加载失败提示的信息
 	2.4 width\height  性写像素
    	图片的尺寸 两者调整一个即可 等比例缩放

image

列表标签

无序列表

<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>

image

表格标签

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>
 
1.tr就表示一行
2.th在表头的字段名称
3.td标签  普通的单元格数据
eg:
<table>
    <thead>
      <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>年龄</th>
      </tr>
  </thead>

<tbody>
    <tr>
      <td>1</td>
      <td>kimi</td>
      <td>12</td>
    </tr>
    <tr>
      <td>2</td>
      <td>rose</td>
      <td>23</td>
    </tr>
</tbody>

</table>

image

表单标签

可以获取到用户的数据并发送给服务端

form标签
	action	控制数据的提交地址
  	method	控制数据的提交方法

input标签(类似于前端的变形金刚)
	type属性
    	text		普通文本
       password		密文展示
   		date		日期选项
    	email		 邮箱格式
     	radio		单选
       checkbox		多选
    	file		文件
       submit		触发提交动作
    	reset		重置表单内容
       button		暂无任何功能
 
select标签	下拉框
	option标签	一个个选项
  
textarea标签	获取大段文本

        
input标签应该有name属性
	name属性相当于字典的键 input标签获取到的用户数据相当于字典的值
	点击发送就会组织成字典的形式发送给服务端 这样才具有明确意义

标签:网页,标签,前端,HTML,conn,浏览器,服务端
From: https://www.cnblogs.com/zhanglanhua/p/16939857.html

相关文章

  • 前端开发
    目录前端与后端的概念前端前戏HTTP协议HTML简介HTML概览预备知识head内常见标签body内基本标签body内常见符号body内布局标签body内常用标签列表标签表格标签表单标签前端......
  • 前端之html各种标签
    目录前端html标签前端与后端的概念为什么学前端前端三剑客前端前戏HTTP协议四大特性数据格式响应状态码HTML简介HTML概念预备知识head内常见标签body内基本标签常见符号bod......
  • HTML基础标签
    目录前端的三剑客web的服务本质HTTP协议HTML语法概括head内的常见标签boby内基本标签常见符号body内布局标签baby内常用标签列表标签表格标签表单标签input前端的三剑客......
  • 进入python的世界_day42_前端——何为前端、HTTP、HTML、head和body以及常用标签
    一、前端1.何为前端​ 与用户打交道的操作界面即为前端,一般都是做了美化的2.前端核心基础HTML>>>:网页的骨架CSS>>>:网页的样式JS>>>:网页的动态(比如说滑动......
  • 前端之HTML
    前端之HTML前端与后端的概念前端与用户直接打交道的界面后端不直接与用户打交道,主要负责内部的业务逻辑的执行前端三剑客HTML网页的骨架......
  • 前端前戏
    今日内容概要前端与后端的概念服务端搭建及客户端访问超文本传输协议(HTTP)超文本标记语言(HTML)今日内容详细前端与后端的概念前端 任何与客户直接打交道的......
  • 前端开发 1
    今日内容详细前端与后端的概念前端 任何与用户直接打交道的操作界面都可以称之为前端>>>:接待员后端 不直接与用户打交道主要负责内部真正的业务逻辑的执行>>>:幕后......
  • 初识前端
    目录前端前端与后端的概念前端后端前端三剑客一.前端前戏二.HTTP协议1.四大特性2.数据格式1).请求格式2).响应格式3).响应状态码三.HTML1.HTML简介2.HTML概览3.预备知识4.h......
  • HTML
    目录HTML前端HTML前端1.什么是前端?2.什么是后端?3.什么是HTML?4.前端的学习流程5.搭建服务器简易浏览器访问6.浏览器访问报错原因7.解决方式HTTP协议(重点)1.什么是HTTP协议2......
  • Web前端开发:前端简介与HTML协议
    目录前端一、前端与后端的概念1.前端的概念2.后端的概念3.了解前端的目的二、Web前端开发三大技术组成部分1.HTML超文本标记语言2.CSS是层叠样式表3.JavaScript网页脚本语......