首页 > 其他分享 >HTML

HTML

时间:2022-11-30 20:35:05浏览次数:40  
标签:网页 标签 HTML HTTP 浏览器 服务端

目录

HTML前端

HTML前端

1.什么是前端?

与用户直接大交道的操作界面都可以称之为是前端
例如:
    手机界面app、电脑界面

2.什么是后端?

不直接与用户打交道的内部真正执行核心业务逻辑的代码程序
例如:
    各种编程语言编写的代码(python、Java、C)

3.什么是HTML?

1.超文本标记语言,全称:Hypertext  Markup  Language,简称:HTML,是一种创建网页的标记语言
2.本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页
3.网页文件的扩展名:html或htm
4.HTML是一种标记语言,不是一种编程语言,它使用标签来描述页面

4.前端的学习流程

前端三剑客
HTML		网页的骨架(没有样式很丑)
CSS		网页的样式(给骨架美化)
JS		网页动态效果(丰富用户体验)

5.搭建服务器 简易浏览器访问

5.1手动写一个服务端

image

5.2使用浏览器充当客户端,浏览器的网址本质其实就是IP + 端口号

image

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

image

6.浏览器访问报错原因

我们自己编写的服务端发送的数据浏览器不识别,原因在于每个人服务端数据的格式千差万别,浏览器无法自动识别,没有按照浏览器固定
的格式发送。

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

7.解决方式

浏览器可以访问很多服务端  如何做到无障碍的与这么多不同程序员开发的软件实现数据的交互
1.浏览器自身功能强大  自动识别并切换(太过消耗资源)
2.大家统一一个与浏览器交互的数据方式(统一思想)统一标准,就有了一些协议:HTTP协议、FTP协议、HTTPS协议

HTTP协议(重点)

1.什么是HTTP协议

什么是协议?
    就是大家商量好的一个共同认可的结果
1.规定了浏览器与服务端之间数据交互的方式及其他事项
2.如果我们开发的时候不遵循该协议,那么浏览器就无法识别我们的网站

2.四大特性

2.1基于请求响应

服务端永远不会主动给客户端发消息  必须是客户端先发请求
如果想让服务端主动给客户端发送消息可以采用其他网络协议

2.2基于TCP、IP之上作用于应用层的协议

应用层、表示层、会话层、传输层、网络层、数据链路层、物理连接层

2.3无状态

不会保存客户端的状态信息,服务端不会记录之前的信息
早期的网络不需要用户注册  所有人访问的网页数据都是一样的
    """纵使见他千万遍  我都当他如初见"""

2.4无连接、短连接

对方向我发送请求,然后我把东西传输以后就断了连接,下次再找我的时候需要带着我的IP地址,要了东西以后又断了连接
    "两者请求响应之后立刻断绝关系"

3.数据格式

3.1请求数据格式

'''
b'GET / HTTP/1.1\r\n
Host: 127.0.0.1:8080\r\n
Connection: keep-alive\r\n
Cache-Control: max-age=0\r\n
sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"\r\n
sec-ch-ua-mobile: ?0\r\n
sec-ch-ua-platform: "Windows"\r\n
Upgrade-Insecure-Requests: 1\r\n
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36\r\n
Accept: 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\n
Sec-Fetch-Site: none\r\n
Sec-Fetch-Mode: navigate\r\n
Sec-Fetch-User: ?1\r\n
Sec-Fetch-Dest: document\r\n
Accept-Encoding: gzip, deflate, br\r\n
Accept-Language: zh-CN,zh;q=0.9\r\n
\r\n'
'''
1.请求首行
    'GET / HTTP/1.1\r\n
    GET就是请求方式,后面是他遵循的协议名称,协议版本
2.请求头
    从Host到Accept-Language就是请求头
    一大推K:V键值对
3.换行
    \r\n
4.请求体
    GET请求没有请求体
    携带一些敏感的数据,比如:密码、身份证

3.2响应数据格式

1.响应首行
    响应状态码
2.响应头
    从Host到Accept-Language就是响应头
    一大推K:V键值对
3.换行
    \r\n
4.响应体
    一般情况下是浏览器需要展示给用户看的数据

4.响应状态码

4.1响应状态码

image

利用数字来表示一些复杂的情况说明(用数字来表示一串中文意思,类似于暗号)

1XX:服务端已经接受到了数据正在处理 你可以继续发送数据也可以等待
2XX:200 OK请求成功 服务端返回了相应的数据
3XX:重定向(原本想访问A页面 但是自动跳转到了B页面)
4XX:403没有权限访问  404请求资源不存在
5XX:服务器内部错误,比如:服务器掉了、进水了、爆炸了等

image

image

4.2自定义状态码

公司还会自定义状态码,一般以10000开头
参考:聚合函数 APL,
     网址:https://www.juhe.cn/apiservice
作用:后端写给前端的状态码

image

因为HTTP的状态码不够用,所以还需要我们自己去写,告诉前端各种错误码的说明

image

HTML本质(搭建)

1.简易版本只是简单的发送一些数据

1.1TCP协议默认是流式性、发一句和发两句是一样的

import socket

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

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

image

image

1.2支持文件的发送

import socket

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

sock, address = server.accept()
data = sock.recv(1024)
print(data)
sock.send(b'HTTP/1.1 200 OK\r\n\r\n')
with open(b'aaa.txt', 'rb') as f:
    sock.send(f.read())

image

2.进阶版本,发送文件里设置标题、含有图片等

'''文本文件内容'''
<h1>Hello word!</h1>

<a href="https://home.cnblogs.com/u/zxr1002">look ju zi tian le blogs</a>

<img src="https://img2.baidu.com/it/u=47074787,591620742&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=750" height=350px/>

<p>this is HTML!!</p>

image

a标签,跳转到别的链接页面
image

HTML简介

image

1.超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言。
    是所有浏览器展示的页面必备的!!!

2.本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页。对于不同的浏览器,对同一个标签可能会有不同的解释。(兼容性问题)

3.浏览器展示的界面我们也称之为HTML页面 存储HTML语言的文件后缀一般是.html

'超文本':超文本只是意味着“文本中的文本”。文本中有一个链接,是一个超文本。每当您单击指向新网页的链接时,您都单击了超文本。超文本是一种将两个或多个网页(HTML文档)相互链接的方法。

'标签语言':标签语言是一种计算机语言,用于将布局和格式约定应用于文本文档。标签语言使文本更具交互性和动态性。它可以将文本转换为图像,表格,链接等。
HTML没有任何的逻辑 所见即所得

'网页': 网页是一种通常用HTML编写并由网络浏览器翻译的文档。可以通过输入URL来识别网页。网页可以是静态或动态类型。

因此,HTML是一种基于文本的标记语言,告诉浏览器如何在互联网上显示图像,字体和其他多媒体元素。它用于在样式的帮助下创建有吸引力的网页,并且在Web浏览器上以漂亮的格式查看。HTML文档由许多HTML标签组成,每个HTML标签包含不同的内容。仅在HTML的帮助下,我们可以创建静态网页。
HTML注释语法
    <!--注释内容-->
 
HTML文件结构
    <html>  所有的代码都必须写在html标签内部
       <head></head>  head内的数据一般都不是给用户看的
       <body></body>  body内的数据就是浏览器展示给用户看的
    </html>
 
HTML标签的分类
   1.单标签(自闭和标签)
        <img/>
   2.双标签
        <a></a>

"""HTML代码是不讲究缩进的 我们只是习惯了python的缩进语法"""

HTML文件的创建

image

HTML文档说明

image

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

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

head内常见标签

title 		控制标签页小标题
style		内部支持编写CSS,控制body里面的颜色、大小、位置等样式
link		引入外部CSS文件
script		内部支持编写JS代码 还可以通过src属性引入外部JS文件
meta		通过内部属性的不同可以有很多功能 
	<meta name="keywords" content="填写一些关键字 提升网页被搜索的概率">
	<meta name="description" content="填写一些网页的简介">

image

body内基本的标签

1.h1~h6标题标签

image

2.P 段落标签

image

3.P 段落标签

image

4.u 下换线

image

5.i 斜体

image

6.s 删除线

image

7.b 加粗

image

块级标签与行内标签

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

image

image

body内基本符号

&nbsp;		空格
&gt;		大于号
&lt;		小于号
&amp;		&
&yen;		¥
&reg;		注册
&copy;		版权

body内布局标签

div     块儿级标签
span    行内标签

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

body内常见标签

1.a标签
    链接标签
      href    可以填写网址 点击自动跳转
              href还可以填写其他标签的id值 实现锚点功能
      target  可以控制是否新建页面跳转
               _self
               _blank

2.img标签
    图片标签
       src      填写图片地址(网络地址 本地地址)
       title    鼠标悬浮在图片上就会有提示信息
       alt      图片加载失败提示的信息
       height   调整图片的高度
       width    调整图片的宽度
    ps:width与height上述两个调整一个另外一个等比例缩放 

image

image

列表标签

无序列表
    <ul>
        <li>python</li>
        <li>golang</li>
        <li>linux</li>
    </ul>
   页面上有规则排列的横向或者竖向的多个元素几乎使用的都是无序列表
有序列表
    <ol type="I" start="10">
          <li>第一项</li>
          <li>第二项</li>
          <li>第二项</li>
    </ol>
标题列表
    <dl>
      <dt>标题1</dt>
        <dd>内容1</dd>
      <dt>标题2</dt>
        <dd>内容1</dd>
        <dd>内容2</dd>
    </dl>

image

表格标签

<table>
        <thead>
            <tr>
                <th>序号</th>
                <th>用户名</th>
                <th>密码</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>jason</td>
                <td>123</td>
            </tr>
        </tbody>
</table>
'''
属性
boder           表格边框
cellpadding     内边距
cellspacing     外边距
rowspan         单元格竖跨多少行(可以在某一个tr\td上设置)
colspan         单元格横跨多少行(可以在某一个tr\td上设置)
width           像素 百分比(最好通过css来设置长宽)
'''

image

image

表单标签

能够获取用户输入(输入、选择、上传)的数据并发送给后端服务器
<form action="" method=""></form>
    action属性
        用于控制数据的提交地址 不写的话就是朝当前页面所在的地址提交
    method属性
        用于控制请求的方式(get\post)

<form action="" method="post">
      <p>username:<input type="text"></p>
      <p>password:<input type="password"></p>
      <p>birthday:<input type="date"></p>
      <p>email:<input type="email"></p>
</form>

image

<form action="" method="post">
    <p>gender:
        <input type="radio" name="gender">男
        <input type="radio" name="gender">女
    </p>
    <p>hobby:
        <input type="checkbox" name="hobby">篮球
        <input type="checkbox" name="hobby">足球
        <input type="checkbox" name="hobby">双色球
    </p>
</form>

image

<form action="" method="post">
    <p>file:
        <input type="file">
    </p>
    <p>files:
        <input type="file" multiple>
    </p>
</form>

image

<p>省份:
        <select name="" id="">
            <option value="">上海</option>
            <option value="">北京</option>
            <option value="">深圳</option>
        </select>
    </p>
    <p>名单:
        <select name="" id="" multiple>
            <option value="">张*彬</option>
            <option value="">张小然</option>
            <option value="">王以楠</option>
            <option value="">张大海</option>
            <option value="">褚新掏</option>
            <option value="">举风危</option>
        </select>
    </p>

image

<form action="" method="post">
    <p>info:
        <textarea name="" id="" cols="30" rows="10"></textarea>
    </p>
    <input type="submit" value="用户注册">
    <input type="reset" value="重置内容">
    <input type="button" value="普通按钮">
</form>

image

关于html内的标签使用可以利用 tab键 进行自动补全

标签:网页,标签,HTML,HTTP,浏览器,服务端
From: https://www.cnblogs.com/zjl248/p/16939618.html

相关文章

  • Web前端开发:前端简介与HTML协议
    目录前端一、前端与后端的概念1.前端的概念2.后端的概念3.了解前端的目的二、Web前端开发三大技术组成部分1.HTML超文本标记语言2.CSS是层叠样式表3.JavaScript网页脚本语......
  • html文件之标签
    html文件之标签html文本就是有各种各样的标签组成的,标签会被浏览器实时的渲染成页面上的各种小组件。html标签分类单标签:有<img/>之类,其特点就是单个标签就闭合了​ ......
  • 前端基础——前后端的概念、服务端搭建及客户端访问、超文本传输协议(HTTP)、超文本标
    前端基础——前后端的概念、服务端搭建及客户端访问、超文本传输协议(HTTP)、超文本标记语言(HTML)一、前端和后端的概念前端 任何与用户直接打交道的操作界面都可以称......
  • 前端html
    目录前端与后端的概念前端前戏HTTP协议HTML简介HTML概览head内常见标签body内基本标签常见符号body内布局标签列表标签表格标签表单标签前端与后端的概念前端 任何与用......
  • Springboot实现HTML表单from简单的接收信息
    HTML<from>元素from可向Web服务器提交请求普遍格式:<fromaction="服务器地址"method="请求方式"enctype="数据格式"><inputtype="submit"value="Test按......
  • 前端知识之HTML
    前端与后端的概念前端:任何与用户直接打交道的操作界面都可以称之为前段可以看成是接待员后端:不直接与用户打交道主要负责内部真正的业务逻辑的执行可以看成是幕后操......
  • HTML
    目录前端与后端的概念前端前戏HTTP协议HTML简介HTML概览预备知识head内常见标签body内基本标签常见符号body内布局标签body内常用标签列表标签表格标签表单标签前端与后端......
  • 前端 html 、http
    目录今日内容概要今日内容详细前端与后端的概念前端前戏HTTP协议HTML简介HTML概览预备知识head内常见标签body内基本标签常见符号body内布局标签body内常用标签列表标签表......
  • jenkins安装部署,集成beautifulreport/html报告
    1、插件安装HTMLPublisherplugin、Groovy    2、构建操作    System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")3、构建后操作......
  • 前端入门 HTTP协议 HTML简介
    目录前端和后端的概念前端前戏数据交互的协议HTTP协议1.四大特性1.基于请求响应2.基于TCP、IP作用与应用层之上的协议3.无状态4.无\短连接2.数据格式3.响应状态码(statu......