初识HTML超文本标记语言

news2024/11/15 17:46:20

文章目录

  • 前端简介
    • 引入
    • 前端三剑客
    • 什么是HTML?
    • 超文本传输协议前戏
    • HTTP超文本传输协议
      • 1.什么是HTTP协议
      • 2.四大特性
      • 3.数据格式
      • 4.响应状态码
    • 基于HTTP协议搭建HTML
    • HTML简介

前端简介

引入

前端:与用户直接打交道的操作界面都可以称之为前端(那些炫酷的页面)

后端:不直接与用户打交道的,内部真正执行核心业务逻辑的代码(各种编程语言写的代码:Python、Java、Go)

前端三剑客

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

	'''
		还有一些前端配套的框架(库)
			bootstrap、jQuery、vue、react、angular.js
	'''

什么是HTML?

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

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

超文本传输协议前戏

1.编写前端的步骤

  1. 编写一个服务端
  2. 使用浏览器充当客户端访问服务端(BS架构)
  3. 浏览器端无法直接展示服务端的响应数据(因为服务端的数据没有遵循标准)
  4. 由于浏览器需要兼容很多服务端软件,为了实现无障碍沟通交流,产生协议(HTTP协议、FTP协议、HTTPS协议)
  5. 浏览器发送的请求数据格式肯定是没有问题,因为别人早就封装好了,问题出现在我们自己写的服务端响应式数据格式

2.前端BS架构

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

编写服务端

	import socket

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

	while True:
		sock,addr = server.accept()
		while True:
			data = sock.recv(2048)
			print(data)
			sock.send(b"hello world")

浏览器访问结果
在这里插入图片描述
在这里插入图片描述
解决方法

由于浏览器需要兼容很多服务端软件 为了实现无障沟通交流 产生协议(HTTP协议、FTP协议、HTTPS协议)
浏览器发送的请求数据格式肯定是没有问题 因为别人早就封装好了 问题出现在我们自己写的服务端响应数据格式
继续往下看完HTTP协议就知道怎么做了

HTTP超文本传输协议

1.什么是HTTP协议

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

2.四大特性

	1.基于请求响应
		客户端发送请求,服务端回应响应。服务端永远不会主动给客户端发消息,
		如果想让服务端主动给客户端发送消息可以采用其他网络协议。
	2.基于TCP/IP作用于应用层的协议
	3.无状态
		服务端不会保存客户端的状态(不保存客户端的状态信息)
		就是这个协议它不能够在浏览器中保存数据,现在使用的:淘宝、支付宝、京东等这些网站都需要登录
        (cookie、session、token、jwt等保存的,他们才是真正的保存用户数据的)
    4./短连接
    	客户端与服务端不会长久保持连接(两者请求响应之后立马断绝关系)

3.数据格式

	请求数据格式
		1> 请求首行(请求方式:有很多种 协议名称及版本)
		2> 请求头(一堆K:V键值对)
		3> 换行
		4> 请求体(携带一些敏感的数据 不是所有的请求都有请求体)

	响应数据格式
		1> 响应首行(响应状态码)
		2> 响应头(一堆K:V键值对)
		3> 换行
		4> 响应体(一般情况下就是浏览器要展示给用户看的数据)

在这里插入图片描述

4.响应状态码

	利用数字来展示一些复杂的描述性信息
		1XX:服务端已经接收到你的请求正在处理,你可以继续提交或者等待
		2XX:200 OK服务端给出了相应响应
		3XX:重定向
		4XX:404 Not Found请求资源不存在(绝大多数时候都是遇到的这种情况)  403请求不符合条件
		5XX:服务端内部错误(出现网页打不开的情况)
		
	我们在公司中还会自定义更多的状态码,一般情况下从10000开始
	'''
		公司还会自定义状态码 一般以10000开头
		参考: 聚合数据  APL
		作用:
		后端写给前端的状态码
	'''

详细分解

1xx(临时响应)
表示临时响应并需要请求者继续执行操作的状态代码。
代码 说明
100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx (成功)
表示成功处理了请求的状态代码。
代码 说明
200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
201 (已创建) 请求成功并且服务器创建了新的资源。
202 (已接受) 服务器已接受请求,但尚未处理。
203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 (无内容) 服务器成功处理了请求,但没有返回任何内容。
205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。
206 (部分内容) 服务器成功处理了部分 GET 请求。

3xx (重定向)
表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
代码 说明
300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

4xx(请求错误)
这些状态代码表示请求可能出错,妨碍了服务器的处理。
代码 说明
400 (错误请求) 服务器不理解请求的语法。
401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
405 (方法禁用) 禁用请求中指定的方法。
406 (不接受) 无法使用请求的内容特性响应请求的网页。
407 (需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
408 (请求超时) 服务器等候请求时发生超时。
409 (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
410 (已删除) 如果请求的资源已永久删除,服务器就会返回此响应。
411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。
412 (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。
413 (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。
415 (不支持的媒体类型) 请求的格式不受请求页面的支持。
416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。
417 (未满足期望值) 服务器未满足”期望”请求标头字段的要求。

5xx(服务器错误)
这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
代码 说明
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

基于HTTP协议搭建HTML

	import socket

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

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

在这里插入图片描述

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

HTML简介

	HTML简称超文本标记语言,是所有的浏览器展示页面必备
	浏览器展示的界面我们也称做HTML页面,存储HTML语言的文件一般都是.html

	HTML语法注释
		<! -- 注释内容 -->
	HTML文件结构
		<html> 所有的代码都必须卸载html标签内部
			<head> head内的数据一般都不是给用户看的
				<meta charset='utf-8'> 字符编码
				<title></title> 网页标题,在浏览器标题栏显示
			</head>
			<body></body> body内的数据就是浏览器展示给用户看的
		</html>
	
	HTML标签分类
		单标签(自闭和标签)<img />  双标签(有开始有结束) <a></a>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1141402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动化工具-文件清单对比

博客主页&#xff1a;https://tomcat.blog.csdn.net 博主昵称&#xff1a;农民工老王 主要领域&#xff1a;Java、Linux、K8S 期待大家的关注&#x1f496;点赞&#x1f44d;收藏⭐留言&#x1f4ac; 目录 背景代码使用 背景 最近的工作中&#xff0c;领导需要比较指定两个文…

太古妖皇诀攻略,太古妖皇诀什么职业厉害

感受国风手游的魅力&#xff0c;畅游于以山海经为背景的太古妖皇诀。游戏地图广阔&#xff0c;洪荒异兽众多&#xff0c;技能配置酷炫&#xff0c;带来成吨伤害的打击感。与山海经中的精怪为伴&#xff0c;踏上修真之路。此外&#xff0c;万人在线竞技&#xff0c;让您尽情享受…

UG\NX二次开发 清除所有对象高亮

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 qq419469101 订阅本专栏,非常感谢。 简介 UG\NX二次开发 清除所有对象高亮 效果 代码 #include "me.hpp" extern DllExport void ufusr(char* p…

服务网络基础

服务网络基础 目录 前言 从今天开始我们将进入服务网格的学习&#xff0c;服务网格是微服务架构中的一种重要的技术&#xff0c;它可以解决微服务架构中的一些问题&#xff0c;比如服务发现、服务治理、服务监控等等&#xff0c;我们将从服务网格的基础开始&#xff0c;逐步深…

图像特征Vol.1:计算机视觉特征度量【纹理区域特征】

一、前言 &#x1f34a;什么是计算机视觉特征&#xff1f; 简单来说就是图像特征&#xff0c;对于我们来说&#xff0c;看到一张图片&#xff0c;能很自然的说出和描述图像中的一些特征&#xff0c;但是同样的图片&#xff0c;丢给计算机&#xff0c;只是一个二维矩阵&#xf…

场效应管器件

在面试硬件方面的工作时&#xff0c;我们通常会被提问模电方面的知识。 场效应管简称FET,有三级&#xff1a;源极(S)、漏极(D)、栅极&#xff08;G&#xff09;&#xff1b;可以实现电压控制电流源&#xff1b;“源极和漏极之间的漏极电流Id&#xff0c;由栅极的负电压进行控制…

Nerfies:可变形神经辐射场

Park K, Sinha U, Barron J T, et al. Nerfies: Deformable neural radiance fields[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 5865-5874. Nerfies 是 Keunhong Park 在 Google 实习时基于 NeRF 模型开发的 可变形神经辐射场 (Def…

Qt界面实现中英文切换

要实现的效果&#xff0c;是下拉列表切换中文和English实现按钮文本中英文内容切换。 实现步骤&#xff1a; 1.在VS中鼠标对Translation Files文件右击&#xff0c;选择“添加”--->“模块”. 在弹窗的窗口中选择“Qt”--->“Qt Translation File”。 添加Translation_e…

操作系统(02326)考试题库

博客主页&#xff1a;https://tomcat.blog.csdn.net 博主昵称&#xff1a;农民工老王 主要领域&#xff1a;Java、Linux、K8S 期待大家的关注&#x1f496;点赞&#x1f44d;收藏⭐留言&#x1f4ac; 目录 单选题多选题主观题 单选题 把并发进程中与共享变量有关的程序段称为…

DoLa:对比层解码提高大型语言模型的事实性

DoLa&#xff1a;对比层解码提高大型语言模型的事实性 摘要1 引言2 方法2.1 事实知识在不同层级上演化2.2 动态早期层选择2.3 预测对比 3 实验3.1 任务3.2 实验设置3.3 多项选择3.3.1 TruthfulQA&#xff1a;多项选择3.3.2 FACTOR&#xff1a;维基、新闻 3.4 开放式文本生成3.4…

polyloss详解

1、常见的泰勒展开公式 2、polyloss引入动机 2.1、polyloss定义 polyloss通过泰勒展开来逼近损失函数的简单框架&#xff0c;将损失函数设计为多项式函数的线性组合 2.2、polyloss主要贡献 提出了一个新的框架来理解和设计损失函数 PolyLoss可以让多项式基根据目标任务和数…

JVM虚拟机:Java对象的头信息有什么?

本文重点 在前面的课程中,我们学习了对象头,其中对象头包含Mark Word和class pointer,当然数组还会有一个数组长度。本文主要分析Mark Work中包含的信息。 Mark Word 以下两张图是一个意思: 32位 32位 64位 以上就是Mark Word会存储的信息,这个意思是说Java对象在不同…

如何使用手机蓝牙设备作为电脑的解锁工具像动态锁那样,蓝牙接近了电脑,电脑自动解锁无需输入开机密码

环境&#xff1a; Win10 专业版 远程解锁 蓝牙解锁小程序 问题描述&#xff1a; 如何使用手机蓝牙设备作为电脑的解锁工具像动态锁那样&#xff0c;蓝牙接近了电脑&#xff0c;电脑自动解锁无需输入开机密码 手机不需要拿出来&#xff0c;在口袋里就可以自动解锁&#xff…

「林曦的亲子美育」讲讲关于阅读的那些事儿

「林曦的亲子美育」是“林曦的小世界”2023年策划的一档新栏目。林曦老师作为一个“小男生的妈妈”,在这些年分享了许多关于亲子教育的心得&#xff1a;以“美”作为连接和最高标准&#xff0c;会护持着小朋友的选择和人生。教育是一个生活的过程。做一餐饭、读一本书、看一张画…

存储器概述

一、存储系统基本概念

vector容器初始化和对象

&#xff08;1&#xff09;a.assign(b.begin(), b.begin()3); //b为向量&#xff0c;将b的0~2个元素构成的向量赋给a &#xff08;2&#xff09;a.assign(4,2); //是a只含4个元素&#xff0c;且每个元素为2 &#xff08;3&#xff09;a.back(); //返回a的最后一个元素 &#xf…

Python入口顶部人体检测统计进出人数

程序示例精选 Python入口顶部人体检测统计进出人数 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《Python入口顶部人体检测统计进出人数》编写代码&#xff0c;代码整洁&#xff0c;规则&a…

【OpenCV实现平滑图像形态学变化】

文章目录 概要目标腐蚀膨胀开运算结构元素&#xff08;内核&#xff09;小结 概要 形态学变化是一组简单的图像操作&#xff0c;主要用于处理二值图像&#xff0c;即只包含黑和白两种颜色的图像。这些操作通常需要两个输入&#xff0c;原始图像和一个内核&#xff08;kernel&a…

计算机操作系统重点概念整理-第三章 进程同步【期末复习|考研复习】

第三章 进程同步 【期末复习|考研复习】 计算机系统系列文章传送门&#xff1a; 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 文章目录 第三章 进程同步 【期末复习|考研复习】前言三、进程同步3.1 临界资…

腾讯云优惠券、代金券、云服务器折扣券领取方法及使用教程

腾讯云优惠券是腾讯云为用户提供的一种优惠活动&#xff0c;通常包括代金券和折扣券两种类型&#xff0c;代金券可以在购买腾讯云相关产品时直接抵扣订单金额&#xff0c;而折扣券则可以在购买腾讯云相关产品时享受一定的折扣。 腾讯云作为国内领先的云计算服务提供商&#xff…