01 企业网站架构部署于优化之Web基础与HTTP协议

news2025/2/24 10:24:50

目录

1.1 Web基础

        1.1.1 域名和DNS

                1. 域名的概念

                2. Hosts文件

                3. DNS       

                4. 域名注册

        1.1.2 网页与HTML

                1. 网页概述

                2. HTML概述

                3. HTML基本标签

                4. 网站和主页

                5. Web1.0与Web2.0

        1.1.3 静态网页与动态网页

                1. 静态网页

                2. 动态网页

                3. 动态网页语言

1.2 HTTP协议

        1.2.1 HTTP协议概述

        1.2.2 HTTP方法

        1.2.3 HTTP状态码

        1.2.4 HTTP请求流程分析

                1. 请求报文

                2. 响应报文


1.1 Web基础

        1.1.1 域名和DNS

                1. 域名的概念

        网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一的标识(固定的IP地址),用以区别在网络上成千上万个用户和计算机。网络在区分所有与之相连的网络和主机时,均采用一种唯一、通用的地址格式,即每一个与网络相连接的计算机和服务器都被指派一个独一无二的地址。为了保证网络上每台计算机的IP地址的唯一性,用户必须向特定机构申请注册,分配P地址。网络中的地址方案分为两套:IP地址系统和域名地址系统。这两套地址系统其实是一一对应的关系。IP地址用二进制数来表示,每个IP地址长32比特,由4个小于256的数字组成,数字之间用点间隔,例如100.10.0.1表示一个IP地址。由于P地址是数字标识,使用时难以记忆和书写,因此在IP地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址。每一个符号化的地址都与特定的IP地址对应,这样网络上的资源访问起来就容易得多了。这个与网络上的数字型I地址相对应的字符型地址,就被称为域名。通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易地找到你。

        1)域名的结构

        以一个常见的域名为例说明其结构。图1.1中,www.baidu.com 网址是由二部分组成,标号"baidu”是这个域名的主体,而最后的标号"com"则是该域名的后缀,代表的这是一个com国际域名,是顶级域名,而前面的www是主机名。

        DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。

        一些国家也纷纷开发使用采用本民族语言构成的域名,如德语,法语等。中国也开始使用中文域名,但可以预计的是,在中国国内今后相当长的时期内,以英语为基础的域名(即英文域名)仍然是主流。

        2)域名结构类型

        根域:指的是根服务器,要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国;欧洲2个,位于英国和瑞典;亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。

        顶级域:包括组织域和国家/地区域名。域名的最右侧是国家/地区域名,国家代码由两个字母组成的如.cn,.uk,.de 和.jp,其中.cn是中国专用的顶级域名。在国家/地区域名左侧,是组织域名,常见的.com用于商业机构,.net用于网络组织,.org用于各种组织包括非盈利组织

        二级域名:在顶级域名之前的域名,在顶级域名前面,它是指域名注册人的网上名称,例如 baidu,ibm,yahoo,microsoft等。 

        FQDN:是主机名.DNS后缀,是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置

                2. Hosts文件

        Hosts 文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS的功能,它可以由计算机的用户进行修改控制。

        1)Hosts文件的作用

        在网络上访问网站,要首先通过DNS服务器把要访问的域名解析成IP地址后,计算机才能对这个网络域名作网站进行访问。

        对于每个域名请求,如果都要等待域名服务器解析后返回IP信息,那么访问网络的效率就会降低,因为DNS做域名解析和返回IP都需要时间。为了提高对经常访问的网络域名的解析效率,可以通过利用在Hosts 文件中建立域名和IP的映射关系来达到目的。根据系统规定,在进行DNS请求以前,系统会先检查自己的 Hosts文件中是否有这个网络域名映射关系。如果有则调用这个IP地址映射,如果没有,再向已知的DNS服务器提出域名解析,即 Hosts 的请求级别比 DNS高。

        2)修改Hosts文件

        Windows系统中Hosts文件存储在目录c:lwindowslsystem32ldriversletcl下面,用记事本可以对其进行修改,CentOS系统中 Hosts 文件存储在目录letc/目录下面,用vimletc/hosts可以对其进行修改,如在文件中加上以下代码。

        当访问 www.baidu.com时,发现本机 hosts文件中有映射的IP地址,则访问这个IP地址。

                3. DNS     

        在互联网上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识P地址,它们之间的转换工作称为域名解析,域名解析要由专门的域名解析系统来完成,DNS就是进行域名解析的系统。

        主机名到P地址的映射有两种方式:

        通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法。如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

        在 Windows命令行模式中输入网络查询命令 nslookup www.baidu.com,可以查询到域名对应的IP地址。

                4. 域名注册

        域名注册是Internet中用于解决地址对应问题的一种方法。域名注册遵循先申请先注册原则,管理机构对申请人提出的域名是否违反了第三方的权利不进行任何实质审查。每个域名都是独一无二的,不可重复的。

        域名注册的所有者都是以域名注册提交人填写域名订单的信息为准的,成功24小时后,即可在国际(ICANN)、国内(CNNIC)管理机构查询whois 信息(域名所有者等信息)。

        下面是域名注册步骤:

  1. 准备申请资料: com域名无需提供身份证、营业执照等资料,cn域名已开放个人申请注册,所以申请则需要提供身份证或企业营业执照;
  2. 寻找域名注册网站: 由于.com、.cn域名等不同后缀均属于不同注册管理机构所管理,如要注册不同后缀域名则需要从注册管理机构寻找经过其授权的顶级域名注册服务机构。如com域名的管理机构为ICANN,cn域名的管理机构为CNNIC(中国互联网络信息中心)。若注册商已经通过ICANN、CNNIC双重认证,则无需分别到其他注册服务机构申请域名;
  3. 查询域名:在域名注册查询网站注册用户名成功后并查询域名,选择要注册的域名,并点击注册;
  4. 正式申请:查到想要注册的域名,并且确认域名为可申请的状态后,提交注册,并缴纳年费;
  5. 申请成功:正式申请成功后,即可开始进入DNS解析管理、设置解析记录等操作。

        1.1.2 网页与HTML

        网页是构成网站的基本元素,是承载各种网站应用的平台。通俗地说,网站就是由网页组成的。如果只有域名和虚拟主机而没有制作任何网页,那么客户仍旧无法访问这个网站。因为网页是由HTML(超文本标记语言)编写的。

                1. 网页概述

        网页是一个文件,他存放在世界某个角落的某一部计算机中,而这部计算机必须是与互联网相连的。网页经由网址(URL)来识别与存取,是互联网中的一“页”。

        网页可以包括如下内容:

                2. HTML概述

        HTML叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。如:文字如何处理,画面如何安排,图片如何显示等。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,开发者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。

        HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为".html"或".htm”即可。

                3. HTML基本标签

        1)HTML语法规则

        HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由"<XXX>”表示,结尾标记符多了一个“r",由“</XXX>”表示。

        2)HTML文件结构

        HTML文件最外层由<html></htm>表示,说明该文件是用HTML语言描述的。在它里面是并列的头标签(<head>)和内容标签(<body>),最基本的HTML文件结构如下:        

        常用的头标签中的标签如表1-1所示。

        内容标签中常用的标签如表1-2所示。

                4. 网站和主页

        网站是由网页组成的,包含多个网页页面,具有独立域名、独立存放空间的内容集合,这些内容可能是网页,也可能是程序或其他文件。

        主页(首页)是用户打开浏览器时默认打开的网页。

        当一个网站服务器收到一台电脑上网络浏览器的消息连接请求时,便会向这台计算机发送这个文档。当在浏览器的地址栏输入域名,而未指向特定目录或文件时,通常浏览器会打开网站的首页。网站首页往往会被编辑得易于了解该网站提供的信息,并引导互联网用户浏览网站其他部分的内容。这部分内容一般被认为是一个目录性质的内容。

                5. Web1.0与Web2.0

        Web1.0是指早期互联网模式,以门户网站为主,内容由网站运营商提供,以巨大的点击量和增值服务为主盈利手段。

  1. Web1.0基本采用的是技术创新主导模式,信息技术的变革和使用对于网站的新生与发展起到了关键性的作用。新浪最初就是以技术平台起家,腾讯以即时通讯技术起家,盛大以网络游戏起家,在这些网站的创始阶段,技术性的痕迹相当之重。
  2. Web1.0的盈利都基于一个共通点,即巨大的点击流量。无论是早期融资还是后期获利,依托的都是为数众多的用户和点击率,以点击率为基础上市或开展增值服务,受众群众的基础,决定了盈利的水平和速度,充分地体现了互联网的眼球经济色彩。

        Web2.0是相对于Web1.0的新的时代。指的是一个利用Web的平台,由用户主导而生成的内容互联网产品模式,如博客、社交网站等。为了区别传统由网站雇员主导生成的内容而定义为第二代互联网,即 Web2.0,是一个新的时代。特征如下:

  1. 用户分享。在 Web2.0模式下,可以不受时间和地域的限制分享各种观点。用户可以得到自己需要的信息也可以发布自己的观点。
  2. 以兴趣为聚合点的社群。在 Web2.0模式下,聚集的是对某个或者某些问题感兴趣的群体,可以说,在无形中已经产生了细分市场。
  3. 开放的平台,活跃的用户。平台对于用户来说是开放的,而且用户因为兴趣而保持比较高的忠诚度,他们会积极的参与其中。

        1.1.3 静态网页与动态网页

                1. 静态网页

        在网站设计中,纯粹HTML格式的网页通常被称为"静态网页",静态网页是标准的HTML文件,它的文件扩展名是.htm、.html。静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字幕等。这些"动态效果"只是视觉上的,与下面将要介绍的动态网页是不同的概念。

                2. 动态网页

        所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着HTML代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非是修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。动态网页URL的后缀不是.htm 、 .html 、 .shtml 、 .xml等静态网页的常见网页制作格式,而是以.aspx、.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——“?”。

        动态网页是基本的 html语法规范与Java、PHP、C#等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML 以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。

                3. 动态网页语言

        早期的动态网页主要采用通用网关接口CGI(Common Gateway Interface)技术,虽然CGI技术已经发展成熟而且功能强大,但由于编程困难、效率低下、修改复杂,所以有逐渐被新技术取代的趋势。

        目前常用的动态网页编程语言如下:

1.2 HTTP协议

        超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的网页文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

        1.2.1 HTTP协议概述

        HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。

        HTTP已经演化出了很多版本,它们中的大部分都是向下兼容的。

  1. HTTP/0.9已过时。只接受GET一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST 方法,所以客户端无法向服务器传递太多信息。
  2. HTTP/1.0这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。
  3. HTTP/1.1当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。

        1.2.2 HTTP方法

        HTTP支持几种不同的请求命令,这些命令被称为HTTP方法(HTTP method)。每条HTTP请求报文都包含一个方法,告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是GET、POST。HTTP常用方法如表1-3所示。

        GET方法采用的是 URL后缀的形式,比如 http:/lwww.test.com/a.php?ld=123就是一个GET请求,服务器接收后可以解析出 ld=123。而POST方法不需要在URL中显示"?Id=123",参数作为内容进行了隐藏的提交。因此,表单类或者有用户名、密码等内容提交时建议使用POST方法。

        GET方法在 URL上显示参数,而URL是有长度限制,故不适合提交过大的数据。GET方法可以被浏览器缓存,当请求已经被请求过一次的URL时,浏览器不需要向服务器再次发出请求,直接在本地缓存中获得页面。GET和POST方法对比如表1-4所示。

        1.2.3 HTTP状态码

        HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码,当浏览器请求某一URL时,服务器根据处理情况返回相应的处理状态。HTTP状态码可以分为五大类,其中 1XX表示信息提示,2XX、3XX表示请求正常,4X×、5X×表示出现异常情况。

        生产环境常见的状态码如表1-5所示。

        1.2.4 HTTP请求流程分析

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

                1. 请求报文

                2. 响应报文

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

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

相关文章

搭建vue3+vite+pinia项目步骤

方法一&#xff1a;使用vite生成项目&#xff08;确保你的 node 版本是16.0.0或更高版本&#xff09; Vite 是一个新型的前端构建工具&#xff0c;专为现代前端开发优化。 第一步&#xff1a;创建项目&#xff0c;命令如下&#xff1a; // 创建项目的命令 npm create vitela…

vue项目打包部署后 浏览器自动清除缓存问题(解决方法)

vue打包部署后 浏览器缓存问题&#xff0c;导致控制台报错ChunkLoadError: Loading chunk failed的解决方案 一、报错如下&#xff1a; 每次build打包部署到服务器上时&#xff0c;偶尔会出现前端资源文件不能及时更新到最新&#xff0c;浏览器存在缓存问题&#xff0c;这时在…

JavaSE 面向对象程序设计进阶 Lambda表达式 2024年详解

Lambda表达式 作用 简化匿名内部类的书写 排序包装类数组 改写匿名内部类 代码实现 import java.util.Arrays; import java.util.Comparator;public class Main {public static void main(String[] args) {Integer[] arrnew Integer[]{2,1,3,4};Arrays.sort(arr,(Integer o1…

大模型成为软件和数据工程师

前言 想象一下这样一个世界&#xff1a;人工智能伙伴负责编码工作&#xff0c;让软件和数据工程师释放他们的创造天赋来应对未来的技术挑战&#xff01; 想象一下&#xff1a;你是一名软件工程师&#xff0c;埋头于堆积如山的代码中&#xff0c;淹没在无数的错误中&#xff0…

PyCharm

一、介绍 PyCharm 是 JetBrains 公司开发的一款功能强大的 Python 集成开发环境&#xff08;IDE&#xff09;。它专为 Python 开发设计&#xff0c;提供了一系列强大的工具和功能&#xff0c;帮助开发者更高效地编写、调试和维护 Python 代码。以下是对 PyCharm 的详细介绍&am…

spring boot 接口参数解密和返回值加密

spring boot 接口参数解密和返回值加密 开发背景简介安装配置yml 方式Bean 方式 试一下启动项目返回值加密参数解密body 参数解密param和form-data参数解密 总结 开发背景 虽然使用 HTTPS 已经可以基本保证传输数据的安全性&#xff0c;但是很多国企、医疗、股票项目等仍然要求…

SEELE框架:图像中主体重定位的创新方法

现有的图像编辑工具多集中于静态调整&#xff0c;如替换图像中的特定区域或改变整体风格&#xff0c;对于动态调整——特别是图像中主体的位置变化则显得力不从心。这种局限性激发了对更加先进和灵活的图像编辑技术的探索。复旦大学数据科学学院的研究团队提出了一种名为SEELE的…

ZW3D二次开发_CAM_设置参数并输出NC文件

ZW3D可以输出NC文件&#xff0c;代码示例如下&#xff1a; int index;int ret cvxCmInqIndexFromName(CM_OUT, (char*)"NC", &index);//获取参数svxNcSetting ncSet;ret cvxCmGetOutputNCSet(index, &ncSet);//设置参数strcpy_s(ncSet.filename, "C:\…

4个免费文章生成器,为你免费一键生成原创文章

在当今的创作领域&#xff0c;创作者们常常陷入各种困境。灵感的缺失、内容创新的压力&#xff0c;每一项都如同沉重的枷锁&#xff0c;束缚着他们的创作步伐。但随着免费文章生成器的出现&#xff0c;宛如一场及时雨&#xff0c;为创作者们带来了新的希望和转机。免费文章生成…

Runway Gen-3 实测,这就是 AI 视频生成的 No.1!视频高清化EvTexture 安装配置使用!

Runway Gen-3 实测,这就是 AI 视频生成的 No.1!视频高清化EvTexture 安装配置使用! 由于 Runway 作为一个具体的工具或平台,其详细信息在搜索结果中没有提供,我将基于假设 Runway 是一个支持人工智能和机器学习模型的创意工具,提供一个关于使用技巧和类似开源项目的文稿总…

上网行为管理系统是什么?有哪些好用的上网行为管理系统?

IT经理&#xff08;ITM&#xff09;: 大家好&#xff0c;今天我们聚在这里&#xff0c;是为了讨论一个对我们公司来说越来越重要的议题&#xff1a;上网行为管理系统&#xff08;WBS&#xff09;。我们知道&#xff0c;员工的网络使用已经不仅仅是个人行为&#xff0c;它直接影…

S32K3 工具篇4:如何在S32DS中使用lauterbach下载

S32K3 工具篇4&#xff1a;如何在S32DS中使用lauterbach下载 1. TRACE32软件下载与配置2. 如何在S32DS里面构建劳德巴赫的接口2.1 新建工程带有lauterbach2.2 已有工程没有lauterbach 劳德巴赫lauterbach是一款非常经典强悍的调试器&#xff0c;还带有trace功能&#xff0c;在汽…

CAN_TxStatus_Pending报错问题

最近用STM32F407最小电路板测试CAN通讯遇到点小问题&#xff1a;回环模式测试没有问题的基础上&#xff0c;两块相同的最小系统板之间也可以通讯。但把其中一块板子换成USB转CAN分析仪时(或者其他板子)&#xff0c;怎么也调不通。 思考良久&#xff0c;硬件测试正常&#xff0c…

只需几个演示就能对齐大模型,杨笛一团队提出的DITTO竟如此高效

人类的教育方式&#xff0c;对大模型而言也很适用。 养育孩子时&#xff0c;古往今来人们都会谈到一种重要方法&#xff1a;以身作则。也就是让自己成为孩子模仿学习的范例&#xff0c;而不是单纯地告诉他们应该怎么做。在训练大语言模型&#xff08;LLM&#xff09;时&#xf…

防勒索病毒袭击,及时定期备份势在必行——易备防勒索备份成功案例

上海某贸易有限公司是于 2010 年 6 月在上海成立的全日资企业&#xff0c;注册资金一亿日元。总公司位于日本东京&#xff0c;从事独立开发制造和销售使用纯天然的植物制成的化妆品、健康食品、日用小商品。 该公司使用用友优普 U8 供应链及电商系统&#xff0c;该系统部署于阿…

CV02_超强数据集:MSCOCO数据集的简单介绍

1.1 简介 MSCOCO数据集&#xff0c;全称为Microsoft Common Objects in Context&#xff0c;是由微软公司在2014年推出并维护的一个大规模的图像数据集&#xff0c;旨在推动计算机视觉领域的研究&#xff0c;尤其是目标识别、目标检测、实例分割、图像描述生成等任务。该数据集…

什么是OSPFv2 ?

什么是OSPF ? 开放式最短路径优先 OSPF&#xff08;Open Shortest Path First&#xff09;是IETF组织开发的一个基于链路状态的内部网关协议&#xff08;Interior Gateway Protocol&#xff09;。 目前针对IPv4协议使用的是OSPF Version 2&#xff08;RFC2328&#xff09;&a…

CAN总线(上)

CAN总线&#xff08;Controller Area Network Bus&#xff09;控制器局域网总线 CAN总线是由BOSCH公司开发的一种简洁易用、传输速度快、易扩展、可靠性高的串行通信总线&#xff0c;广泛应用于汽车、嵌入式、工业控制等领域 CAN总线特征&#xff1a; 两根通信线&#xff08;…

mars3d加载wms服务或者wmts服务注意事项

1.wms只支持4326、3857、4490的标准切片&#xff0c;其他坐标系不支持 Mars3D三维可视化平台 | 火星科技 2.wmts同理&#xff0c;Mars3D三维可视化平台 | 火星科技 3.对应级别tilematrix找到的瓦片tilerow&tilecol这两个参数使用常见报错无效参考&#xff1a; 【Mars3d】…

JAVA 八大warrp包装类

一、介绍 二、自动拆箱与手动拆箱 //jdk5前是手动装箱和拆箱//手动装箱 int -> Integerint n1 100;Integer integer new Integer(n1);//只要new就shibuInteger integer1 Integer.value0f(n1)//手动拆箱//Integer -> intint i integer.intValue(); ​//jdk5后&#xff…