Linux:web基础与HTTP协议

news2024/11/18 16:42:28

Linux:web基础与HTTP协议

  • 一、域名概述
    • 1.1 域名的概念
    • 1.2 域名空间结构
    • 1.3 域名注册
  • 二、网页的概念
    • 2.1 网页
    • 2.2 网站
    • 2.3 主页
    • 2.4 网页2
  • 三、HTML概述
    • 3.1 HTML概述
    • 3.2 HTML文档结构
    • 3.3 HTML 基本标签
  • 四、web概述
    • 4.1 web概述
    • 4.2 Web1.0 vs Web2.0
    • 4.3 静态网页
      • 4.3.1 静态网页特点
    • 4.4 动态网页
      • 4.4.1 动态网页特点
  • 五、HTTP协议概述
    • 5.1 HTTP协议概述
    • 5.2 HTTP方法
    • 5.3 HTTP状态码
    • 5.4 HTTP 请求流程分析

一、域名概述

1.1 域名的概念

  • IP地址不易记忆,域名更方便记忆(例:www.baidu.com、www.qq.com、www.163.com等)
  • 早期使用Hosts文件解析域名
    1、主机名称重复
    2、主机维护困难
  • DNS(Domain Name System 域名系统)
    1、分布式
    2、层次性

1.2 域名空间结构

  • 根域–>顶级域–>二级域–>子域–>主机名

在这里插入图片描述

1.3 域名注册

  • 域名注册是Internet中用于解决地址对应问题的一种方法(国内需要去公安局备案)
  • 遵循先申请先注册原则
  • 域名注册步骤
    在这里插入图片描述

二、网页的概念

2.1 网页

  • 1、纯文本格式文件
  • 2、编写语言为HTML
  • 3、在用户的浏览器中被“翻译”成网页形式显示出来

2.2 网站

  • 由一个一个页面构成的,是多个网页的结合体

2.3 主页

  • 打开网站后出现的第一个网页称为网站主页(或首页)

2.4 网页2

  • 域名:浏览网页时输入的网址
  • HTTP:用来传输网页的通信协议
  • URL:是一种万维网寻址系统
  • HTML:用来编写网页的超文本标记语言
  • 超链接:超链接是将网站中不同网页链接起来的功能
  • 发布:将制作好的网页上传到服务器供用户访问的过程

三、HTML概述

3.1 HTML概述

  • HTML:超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。
  • 浏览器:”解释和执行”HTML源码的工具

在这里插入图片描述

在这里插入图片描述

3.2 HTML文档结构

  • HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为”.html”或“.htm”即可。
    HTML网页
    头部部分
    标题部分
    主体部分
    网页内容,包括文本、图像等
<html>
    <head>网页的内容描述信息</head>
    <body>网页显示的内容</body>
</html>
  • 头标签中常用标签
标签描述
<title>定义了文档的标题
<base>定义了页面链接标签的默认链接地址
<link>定义了一个文档和外部资源之间的关系
<meta>定义了 HTML 文档中的元数据
<script>定义了客户端的脚本文件
<style>定义了 HTML 文档的样式文件
  • 内容标签中常用标签
标签描述
<table>定义一个表格
<tr>定义了表格中的一行
<td>定义了表格中某一行的一列
<img>定义了一个图像
<a>定义了一个超链接
<p>定义了一行
<br>定义了换行
<font>定义了字体
<h1>定义字体大小

3.3 HTML 基本标签

  • HTML 语法规则:HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由“<XXX>”表示,结尾标记符多了一个“/”,由“</XXX>”表示。
  • HTML 文件结构:HTML文件最外层由<html></html>表示,说明该文件是用HTML语言描述的。在它里面是并列的头标签(<head>)和内容标签(<body>)。

四、web概述

4.1 web概述

  • Web (World Wide Web) 即全球广域网,也称为万维网
  • 一种分布式图形信息系统
  • 建立在Internet上的一种网络服务

4.2 Web1.0 vs Web2.0

  • web1.0
    1、以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容
    2、这个过程是网站到用户的单向行为
  • web2.0
    1、更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者
    2、加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
    3、web2.0特征:用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户

4.3 静态网页

  • 1、静态网页是标准的HTML文件
  • 2、扩展名是.htm、.html
    如:文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及Java小程序等
  • 3、是网站建设的基础,早期网站一般都由静态网页制作
  • 4、没有后台数据库、不含程序和不可交互的网页
  • 5、相对更新起来比较麻烦,适用于一般更新较少的展示型网站

4.3.1 静态网页特点

  • 1、每个静态网页都有一个固定的URL,且URL以htm.html、.shtml等常见形式为后缀,而不含有“?”
  • 2、网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的
  • 3、静态网页的内容相对稳定,容易被搜索引擎检索
  • 4、静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
  • 5、静态网页的交互性较差,在功能方面有较大的限制
  • 6、页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面

4.4 动态网页

  • 1、网页URL不固定,能通过后台与用户交互
  • 2、在动态网页网址中有一个标志性的符号一“?”
  • 3、常用的语言有PHP、JSP、Python、Ruby等

4.4.1 动态网页特点

  • 交互性:网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋
  • 自动更新:无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量
  • 因时因人而变:当不同的时间,不同的人访问同一网址时会产生不同的页面

五、HTTP协议概述

5.1 HTTP协议概述

  • HTTP协议是互联网上应用最为广泛的一种网络协议,设计这个协议的目的是为了发布和接收Web服务器上的HTML页面。
  • HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。
  • HTTP 已经演化出了很多版本,它们中的大部分都是向下兼容的。
    1、HTTP/0.9:已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息。
    2、HTTP/1.0:这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。
    3、HTTP/1.1:引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。
    4、HTTP/2.0:完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。

5.2 HTTP方法

  • HTTP支持几种不同的请求命令,这些命今被称为HTTP方法(HTTP method)
  • 每条 HTTP 请求报文都包含一个方法, 告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是 GET、POST、PUT。
HTTP方法描述
GET对服务器资源获取的简单请求
PUT向服务器提交数据,以修改数据
DELETE删除服务器上的某些资源
POST用于发送包含用户提交数据的请求
HEAD请求页面的首部,获取资源的元信息

5.3 HTTP状态码

  • HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码,当浏览器请求某一 URL 时, 服务器根据处理情况返回相应的处理状态。
  • 通常正常的状态码为2xx,3xx(如200)。
  • 出现异常会返回4xx,5xx(如404)。
状态码首位已定义范围分类
1xx100-101信息提示
2xx200-206成功
3xx300-305重定向
4xx400-415客户端错误
5xx500-505服务器错误
  • HTTP 常见状态码
状态码功能描述
200一切正常
301永久重定向
302临时重定向
401用户名或密码错误
403禁止访问(客户端IP地址被拒绝)
404请求的文件不存在
414请求URI头部过长
500服务器内部错误
502无效网关
503 当前服务不可用
504网关请求超时

5.4 HTTP 请求流程分析

  • 用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。

  • 请求报文
    1、请求行:请求行由请求方法、URL 以及协议版本三部分组成。
    2、请求头:请求头为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。
    3、空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。
    4、请求体:请求体是请求提交的参数,GET 方法已经在 URL 中指明了参数,所以提交时没有数据。POST 方法提交的参数在请求体中。

  • 常用的请求头

Host			#接受请求的服务器地址,可以是 IP:端口号,也可以是域名
User-Agent		#发送请求的应用程序名称
Connection		#指定与连接相关的属性,如 Connection:Keep-Alive
Accept-Charset	#通知服务端可以发送的编码格式
Accept-Encoding	#通知服务端可以发送的数据压缩格式
Accept-Language	#通知服务端可以发送的语言
  • 响应报文
    1、状态行:状态行由协议版本,状态码,状态码描述三部分组成。
    2、响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。
    3、空行:响应头部的最后会有一个空行,表示响应头部结束。
    4、响应体:服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。

  • 常见响应头

Server		        #服务器应用程序软件的名称和版本
Content-Type	    #响应正文的类型(是图片还是二进制字符串)
Content-Length	    #响应正文长度
Content-Charset 	#响应正文使用的编码
Content-Encoding	#响应正文使用的数据压缩格式
Content-Language    #响应正文使用的语言

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

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

相关文章

【挑战自己】软件测试的7个级别,做到3级已经超越80%测试人

有人说&#xff1a;软件测试就是最low的点点点工作。 有人说&#xff1a;测试工作职位薪水到一定程度只能原地踏步无法提升 也有人说&#xff1a;测试行业相对于开发来说技术性很低&#xff0c;容易被取代。 这其实是对测试行业最大的误解。测试可深可浅&#xff0c;可窄可广…

QDir拼接路径解决各种斜杠问题

一般在项目中经常需要组合路径,与其他程序进行相互调用传递消息通信。 经常可能因为多加斜杠、少加斜杠等问题导致很多问题。 为了解决这些问题,我们可以使用QDir来完成路径的拼接,不直接拼接字符串。 QDir的静态方法QDir::cleanPath() 是为了规范化路径名的,在使用QDir组…

Unity第三方分享(微信)插件ShareSDK使用简记

Unity第三方分享&#xff08;微信&#xff09;插件ShareSDK使用简记 微信分享遇到的问题记录 链接官方链接参考链接 微信分享 官方文档&#xff1a;MobTech集成文档-MobTech 下载地址&#xff1a;GitHub - MobClub/New-Unity-For-ShareSDK: New sample of ShareSDK for Unity,…

ChatGPT:你真的了解网络安全吗?浅谈攻击防御进行时之网络安全新防御

ChatGPT&#xff1a;你真的了解网络安全吗&#xff1f;浅谈网络安全攻击防御进行时 网络安全新防御1. 针对人工智能2. 针对5G和物联网3. 针对云安全4.针对社交工程5. 针对加密技术6. 针对多层次的安全控制 总结 ChatGPT&#xff08;全名&#xff1a;Chat Generative Pre-traine…

去除氟离子的最好办法,矿井水现场氟离子超标RO浓水除氟

一、产品介绍 氟化物选择吸附树脂 Tulsimer CH-87 是一款去除水溶液中氟离子的专用的凝胶型选择性离子交换树脂。它是具有氟化物选择性官能团的交联聚苯乙烯共聚物架构的树脂。 去除氟离子的能力可以达到 1ppm 以下的水平。中性至碱性的PH范围内有较好的工作效率&#xff0c;并…

保姆级别!!!--全网绝对教你会!!教你如何使用MQTTFX连接阿里云平台中的设备----下期告诉你如何创建!

本期需要下载的软件 MQttfx安装包&#xff0c;本人打包的-嵌入式文档类资源-CSDN文库 目录 第一步&#xff1a;建造阿里云设备 这个可以先忽略建造步骤&#xff0c;下期将提供步骤。 第二步&#xff1a;下载mqttfx软件 第三步&#xff1a;填写密钥信息进行连接 查看三元…

如何显示物品词缀?

UE5 插件开发指南 前言0 什么是物品词缀?1 如何动态显示物品词缀?前言 读到这里读者应该已经知道如何解析这个题目了,拆分为如下问题: (1)什么是物品词缀? (2)如何动态显示? 0 什么是物品词缀? 首先要知道什么是物品词缀,如下图所示,物品词缀就是用来描述物品属性的…

助力服务智能医疗检测,基于yolov5开发构建结直肠息肉检测系统,实践训练n/s/m不同量级模型,对比性能结果

将人工智能技术应用于众多的生活真实场景中是一件很有前景的事情&#xff0c;在我前面的博文中已经有不少的相关的开发实践&#xff0c;应用于医学领域也是一个非常重要的细分分支领域&#xff0c;在前面的博文中也有一些实践&#xff0c;感兴趣的话可以自行移步阅读。 《服务…

无需公网IP,快速远程登录家里的威联通NAS

文章目录 前言1. 威联通安装cpolar内网穿透2. 内网穿透2.1 创建隧道2.2 测试公网远程访问 3. 配置固定二级子域名3.1 保留二级子域名3.2 配置二级子域名 4. 使用固定二级子域名远程访问 转载自cpolar内网穿透的文章&#xff1a;无需公网IP&#xff0c;在外远程访问威联通QNAP|N…

『 MySQL篇 』:MySQL 事务特性

目录 一 . 什么是事务&#xff1f; 二. 事务的操作 ​三. 事务的四大特性 四 . 并发事务可能产生的问题 五 . 数据库的隔离级别 一 . 什么是事务&#xff1f; 从概念上来讲&#xff0c;事务是一个有限的数据库操作序列构成&#xff0c;这些操作要么全部执行&#xff0c…

使用 RLHF 训练 LLaMA 的实践指南:StackLLaMA

由于LLaMA没有使用RLHF&#xff0c;后来有一个初创公司 Nebuly AI使用LangChain agent生成的数据集对LLaMA模型使用了RLHF进行学习&#xff0c;得到了ChatLLaMA模型&#xff0c;详情请参考&#xff1a;Meta开源的LLaMA性能真如论文所述吗&#xff1f;如果增加RLHF&#xff0c;效…

Xcode14.3升级完项目无法运行

升级到14.3在真机上运行报错如下: /XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a 解决方法: 在Podfile中的最后一个end出添加下面代码 post_install do |installer| installer.generated_projects.each do |project| project.targets.each do |target| targ…

chatgpt赋能Python-python_nums

Python NumPy&#xff1a;大数据分析的神奇武器 Python NumPy是一种用于处理大型数据集的Python库。NumPy提供了一个矩阵数据结构&#xff0c;用于在Python中进行数学运算和数据分析。在本文中&#xff0c;我们将介绍NumPy的基本功能&#xff0c;以及它如何在数据科学领域中提…

KDZK-F励磁综合特性测试仪

一、产品概述 KDZK-F励磁综合特性测试仪是判断发电机转子绕组有无匝间短路的专用仪器&#xff0c;可以自动、手动&#xff08;单向或双向&#xff09;测量转子绕组的电压、电流、阻抗、功率、相位角等参数。 二、功能与特点 旋转鼠标&#xff0c;操作更方便。 可选择快速的自…

MySQL数据库最常见的6种故障的排除方法

MySQL数据库最常见的6中故障的排除方法 1.MySQL无法启动 2.MySQL连接不上 3.MySQL打开文件失败 4.MySQL挂起&#xff08;hung&#xff09; 5.MySQL崩溃&#xff08;crash&#xff09; 6.忘记用户密码 1.MySQL无法启动 1.无法访问系统资源 2.参数设置错误 无法访问系统…

【国产虚拟仪器】基于Zynq的雷达10Gbps高速PCIE数据采集卡方案(三)软件设计

4.1 引言 本章基于第二章的分析结论&#xff0c;进行系统软件设计。软件设计包括逻辑设计、嵌入 式软件设计和上位机软件设计。在逻辑设计中&#xff0c;对 ADC 模块、 Aurora 模块、 DDR3 SDRAM 模块和 PCIE 模块进行分析和设计&#xff0c;在 Vivado 软件提供的 …

静态时序分析-配置STA环境

1.什么是STA环境 DUA(待分析设计)会与其它同步设计交互,例如DUA从触发器接收数据,并将数据输出到DUA外部的另一个触发器。为了对这种设计执行STA,需要指定触发器的时钟、以及进入设计和退出设计的所有路径的时序约束。 2.时钟配置 定义时钟 定义时钟需要: 时钟源周期占…

SSRS rdlc报表 三 去除打印空白页

开发环境&#xff1a;vs2022 当我们新建一个报表&#xff0c;选择使用A4纸进行打印&#xff0c;有的时候打印列数过多&#xff0c;列会跑到下一页&#xff0c;调整好列显示后&#xff0c;所有的列都显示到一张纸上了&#xff0c;但是打印的时候发现&#xff0c;第二页是一张空…

宣传单页二维码怎么做?分享在线二维码制作小技巧

宣传单页现在也不是像之前的那种单一海报、纸质形式了。很多商家会将宣传单页做成二维码的形式&#xff0c;不仅传播方便&#xff0c;还方便用户填写信息便于统计。但是这种宣传单页二维码图片是怎么制作的呢&#xff1f; 一、什么工具能够制作二维码&#xff1f; 机智熊二维码…

为什么我在领英上搜到的客户都是显示领英会员(Linkedin Member)?

LinkedIn领英上找客户&#xff0c;开发客户已经越来越成为主流&#xff0c;但是很多刚注册使用LinkedIn领英的人会摸不着头脑&#xff0c;束手无策。 因为他会发现自己搜索出来的结果&#xff0c;找出来的客户都是显示领英会员&#xff08;Linkedin Member&#xff09;&#x…