当前位置: 首页 > news >正文

Web基础和HTTP协议

目录

一,Web基础

1,域名的概念

2,DNS原理

3,网页与HTML

HTML概述

         HTML基本标签

4,静态网页,动态网页

静态网页与动态网页如何选择?

5,HTTP协议概述

HTTP方法

 HTTP状态码

一,Web基础

主要包括 域名的概念,DNS原理,网页与HTML,静态网页,动态网页。

1,域名的概念

域名(Domain Name)是互联网上用于标识和定位计算机、服务或资源的字符串名称。它通过易记的字符(如 baidu.com)代替复杂的IP地址(如 172.217.160.110),帮助用户更方便地访问网站或网络服务。

  • 域名的作用

易用性:将难记的IP地址转换为人类可读的名称。

品牌标识:代表企业、组织或个人的在线身份(如 apple.com)。

网络定位:通过DNS(域名系统)将域名解析为对应的服务器IP地址。

路由管理:支持邮件服务(如 @example.com)、子域名分配(如 blog.example.com)等功能。

  • 域名的结构

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


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

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

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

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

  • 域名的分类(按用途分类)

通用域名.com(商业)、.org(非营利组织)、.net(网络服务)。

地理域名.cn(中国)、.jp(日本)、.de(德国)。

行业专用.edu(教育)、.gov(政府)、.mil(军事)。

新兴域名.tech, .design, .online

  • 域名的分类(按层级的分类)

一级域名(主域名):如 example.com

二级域名:如 mail.example.com

三级域名:如 support.mail.example.com

  • hosts文件

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

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

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

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

  • 修改hosts文件

Windows 系统中 Hosts 文件存储在目录 c:\windows\system32\driversetc下面,用 记事本可以对其进行修改,0penEuler 系统中 Hosts 文件存储在目录/etc/目录下面,用 vim /etc/hosts 可以对其进行修改,在文件中加上以下内容:

127.0.0.1 www.baidu.com

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

  • DNS

    在互联网上域名与 IP 地址之间是一一对应的,域名虽然便于人们记忆,但机器之 间只能互相认识 IP 地址,它们之间的转换工作称为域名解析,域名解析要由专门的域 名解析系统来完成,DNS就是进行域名解析的系统。主机名到IP地址的映射有两种方式:
     静态映射:每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射 表,而且只供本设备使用;
     动态映射:建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机 到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到 DNS服务器查询主机所对应的 IP 地址。

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解 析)。在解析域名时,可以首先采用静态域名解析的方法。如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以 大大提高域名解析效率。在 Windows 命令行模式中输入网络査询命令 nslookup www.baidu.com,可以查询 到域名对应的 IP 地址。

2,DNS原理

DNS(Domain Name System,域名系统)是互联网的分布式数据库,用于将人类可读的域名(如 www.example.com)转换为机器可识别的IP地址(如 192.0.2.1),实现网络资源的定位与访问。

  • DNS的核心作用
  1. 域名解析:将域名转换为IP地址(正向解析)或IP地址转换为域名(反向解析)。

  2. 负载均衡:通过轮询分配请求到多个服务器(如CDN)。

  3. 邮件路由:通过MX记录确定邮件服务器地址。

  4. 服务发现:支持多种协议(如HTTP、FTP)的服务器定位。

  • DNS系统架构

DNS采用树状分层结构,分为以下层级(从高到低):

根域名服务器(Root DNS):全球13组根服务器,管理顶级域名(TLD)的地址。

顶级域名服务器(TLD DNS):管理.com.org.cn等顶级域名。

权威域名服务器(Authoritative DNS):管理具体域名的解析记录(如example.com)。

本地DNS服务器(Local DNS):由ISP或企业提供,缓存常用解析结果。

域名空间示例:

根(.)
└── 顶级域名(com)
    └── 二级域名(example)
        └── 主机名(www)

  • DNS解析流程
  1. 客户端发起请求:当用户在浏览器中输入一个域名时,浏览器会首先检查本地的 DNS 缓存。如果缓存中存在该域名对应的 IP 地址,就直接使用该 IP 地址进行访问;如果缓存中没有,就会向本地 DNS 服务器发送 DNS 查询请求。
  2. 本地 DNS 服务器查询:本地 DNS 服务器收到请求后,会先在自己的缓存中查找。如果找到匹配的记录,就将对应的 IP 地址返回给客户端。如果本地 DNS 服务器缓存中没有该域名的记录,它会根据配置的转发规则,将请求转发给其他 DNS 服务器,通常是上级 DNS 服务器,如运营商的 DNS 服务器。
  3. 根 DNS 服务器响应:如果本地 DNS 服务器转发的请求到达了根 DNS 服务器,根 DNS 服务器会根据域名的顶级域名(如.com、.cn 等),返回给本地 DNS 服务器相应顶级域名服务器的地址。
  4. 顶级域名服务器响应:本地 DNS 服务器收到根 DNS 服务器返回的顶级域名服务器地址后,会向顶级域名服务器发送查询请求。顶级域名服务器会根据域名的二级域名等信息,返回该域名对应的权威 DNS 服务器的地址。
  5. 权威 DNS 服务器响应:本地 DNS 服务器向权威 DNS 服务器发送查询请求,权威 DNS 服务器存储着该域名的准确 DNS 记录,它会将域名对应的 IP 地址返回给本地 DNS 服务器。
  6. 本地 DNS 服务器缓存与响应:本地 DNS 服务器收到权威 DNS 服务器返回的 IP 地址后,会将该记录缓存起来,以便下次有相同的查询请求时可以直接使用。同时,本地 DNS 服务器将 IP 地址返回给客户端。
  7. 客户端访问目标服务器:客户端收到本地 DNS 服务器返回的 IP 地址后,就可以使用该 IP 地址与目标服务器建立连接,进行数据传输和访问。

  • DNS记录类型
记录类型用途示例
A将域名指向IPv4地址example.com A 192.0.2.1
AAAA将域名指向IPv6地址example.com AAAA 2001:db8::1
CNAME域名别名(指向另一个域名)www.example.com CNAME example.com
MX邮件服务器地址example.com MX 10 mail.example.com
TXT文本信息(如SPF、DKIM验证)example.com TXT "v=spf1 include:_spf.google.com ~all"
NS指定域名的权威DNS服务器example.com NS ns1.example-dns.com
SRV定义服务位置(如VoIP、LDAP)_sip._tcp.example.com SRV 10 60 5060 sipserver.example.com

3,网页与HTML

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

网页可以包括如下:

  • 文本:文本是网页上最重要的信息载体与交流工具,网页中的主要信息般都以文 本形式为主。
  • 图像:图像元素在网页中具有提供信息并展示直观形象的作用。
  • Flash动画:动画在网页中的作用是有效地吸引访问者更多的注意
  • 声音:声音是多媒体和视频网页重要的组成部分。
  • 视频:视频文件的采用使网页效果更加精彩且富有动感。
  • 表格:表格是在网页中用来控制页面信息的布局方式。
  • 导航栏:导航栏在网页中是一组超链接,其连接的目的端是网页中重要的
    页面。
  • 交互式表单:单在网页中通常用来联接数据库并接受访问用户在浏览器端输入的 数据,利用数据库为客户端与服务器端提供更多的互动。

网页相关概念如下:

  • 域名:是浏览网页时输入的网址。
  • HTTP:用来传输网页的通信协议,使用浏览器访问网址时,在域名前面要加上 
  • URL:表示使用 http 协议传输网页。URL:是一种万维网寻址系统,表示网络上资源的位置路径。。
  • HTML:是编写网页的超文本标记语言。
  • 超链接:具备将网站中不同网页链接起来的功能。
  • 发布:将制作好的网页上传到服务器供用户访问的过程,

HTML概述

HTML 叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记 要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标 记符,可以告诉浏览器如何显示其中的内容。

HTML基本标签

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


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

<html>

<head>网页的内容描述信息<head>

<body>网页显示的内容</body>

</html>

常用的头标签中的标签如下:

标签描述
<title>定义了文档的标题
<base>定义了页面链接标签的默认链接地址
<link>定义了一个文档和外部资源之间的关系
<meta>定义了 HTML 文档中的元数据
<script>定义了客户端的脚本文件
<style>定义了 HTM 文档的样式文件

内容标签中常用的标签如下:

标签描述
<title>定义了文档的标题
<base>定义了页面链接标签的默认链接地址
<link>定义了一个文档和外部资源之间的关系
<meta>定义了 HTML 文档中的元数据
<script>定义了客户端的脚本文件
<style>定义了 HTM 文档的样式文件

4,静态网页,动态网页

  • 静态网页

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

  • 动态网页

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

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

1,php:PHP 即 Hypertext Preprocessor(超文本预处理器),它是当今 Internet 上最为火 热的脚本语言,其语法借鉴了 C、Java、PERL 等语言,但只需要很少的编程知识 你就能使用 PHP 建立一个真正交互的 web 站点。

2,jsp:JSP 即Java Server Pages(Java 服务器页面),它是由 Sun Microsystem 公司于1999 年6月推出的新技术,是基于 Java Servlet 以及整个ava 体系的 Web 开 发技术。

3,python:Python 是一种面向对象、跨平台的动态类计算机程序设计语言,最初被设计用于 编写自动化脚本(shel1),随着版本的不断更新和语言新功能的添加,越来越多被用 于独立的大型项目开发。

4,puby:Ruby 是一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪 90 年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守 GPL, 协议和Ruby License.
它的灵感与特性来自于 Per1、Smalltalk、Eiffel、Ada 以及 Lisp 语言。

静态网页与动态网页的区别:

  • 内容生成方式
维度静态网页动态网页
生成时间提前生成,内容固定,存储在服务器上。实时生成,内容根据用户请求、数据库或外部数据源动态生成。
修改方式需手动修改HTML文件并重新上传。通过后台管理系统或数据库更新内容,无需直接修改代码。
示例企业官网、个人博客(无交互功能)。电商平台、社交媒体、在线表单。

  • 交互性与功能
    维度静态网页动态网页
    用户交互仅支持基础交互(如表单提交需依赖第三方服务)。支持复杂交互(如登录、评论、购物车、实时数据更新)。
    个性化内容所有用户看到相同内容。根据用户身份、行为或偏好展示个性化内容(如推荐系统)。
    数据依赖不依赖数据库,内容硬编码在HTML中。依赖数据库或API动态获取数据。

静态网页与动态网页如何选择?

  • 静态网页
    适用于内容稳定、无需用户交互的场景(如产品展示、文档网站、个人简历)。
    优势:低成本、高性能、易部署。

  • 动态网页
    适用于需要用户登录、实时数据、个性化内容的场景(如社交平台、在线商城、后台管理系统)。
    优势:功能丰富、灵活扩展。

5,HTTP协议概述

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

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

HTTP方法

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

HTTP方法描述
GET请求获取 Request-URl 所标识的资源
PUT请求服务器存储一个资源,并用Request-URI作为其标识
DELETE请求服务器删除Request-URI 所标识的资源
POST在 Request-URI 所标识的资源后附加新的数据

GET和POST的比较

GET方法POST方法
对数据长度的限制URL的长度是受限制的(最大长度是 2048个字符)无限制
缓存可以被缓存不能缓存
安全性与POST相比,GET 的安全性较差,因为所发送的数据是URL的一部分。在发送密码或其他敏感信息时绝不要使用GETPOST 比GET 更安全,因为参数不会被保存在浏览器历史或Web 服务器日志中
历史参数保留在浏览器历史中参数不会保存在浏览器历史中
后退按钮/刷新无害数据会被重新提交,浏览器应该告知用户数据会被重新提交
书签可收藏为书签不可收藏为书签

 HTTP状态码

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

状态码首位已定义范围分类
1xx100-101信息提示
2xx200-206成功
3xx300-415重定向
4xx400-415客户端错误
5xx500-505服务器错误

 常见的状态码如下:

消息描述
200 OK请求成功(其后是对GET 和POST 请求的应答文档)
301 Moved Permanently请求的永久页面跳转
403 Forbidden禁止访问该页面
404 Not Found服务器无法找到被请求的页面
500 Internal Server Error内部服务器错误
502 Bad Gateway无效网关
503 Service Unavailable当前服务不可用
504 Gateway Timeout网关请求超时

HTTP请求流程分析:

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


常用的请求头如下:

  • Host:接受请求的服务器地址,可以是IP:端口号,也可以是域名
  • User-Agent:发送请求的应用程序名称
  • Connection:指定与连接相关的属性,如Connection:Keep-Alive
  • Accept-Charset:通知服务端可以发送的编码格式
  • Accept-Encoding:通知服务端可以发送的数据压缩格式
  • Accept-Language:通知服务端可以发送的语言

常用的响应头如下:

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

相关文章:

  • cuDNN 安装、版本查看及指定版本删除操作指南
  • 网络准入控制系统推荐:2025年构建企业网络安全的第一道防线
  • 运维打铁:域名详解及常见问题解决
  • 【C++】线程池
  • 【问题】docker容器修改环境变量的方式
  • SplitReason:在复杂步骤借助更大尺寸模型推理,1.5B+32B,实现准确率28%提升+8倍速度提升
  • 编程日志4.23
  • 【Linux内核设计与实现】第三章——进程管理05
  • SSO单点登录
  • 通过DeepSeek大语言模型控制panda机械臂,听懂人话,拟人性回答。智能机械臂助手又进一步啦
  • 大模型在肝硬化腹水风险预测及临床方案制定中的应用研究
  • AWS虚拟专用网络全解析:从基础到高级实践
  • 【Spark入门】Spark架构解析:组件与运行机制深度剖析
  • vim粘贴代码格式错乱 排版错乱 缩进错乱 解决方案
  • 【软件工程】需求分析详解
  • 24体育NBA足球直播M28模板体育赛事直播源码
  • 介绍下Nginx的作用与请求转发机制
  • Windows操作系统核心知识解析
  • C++ 表达式求值优先级、结合律与求值顺序(五十九)
  • 关于https请求丢字符串导致收到报文解密失败问题
  • 第二章:Agent System
  • RestRequest ,newtonsoft解析
  • 大模型(LLMs)强化学习—— PPO
  • 【angular19】入门基础教程(一):项目的搭建与启动
  • 如何查看电脑电池使用情况
  • 北京市延庆区“禅苑茶事“非遗项目挂牌及茶事院正式启用
  • Adobe Lightroom Classic v14.3.0.8 一款专业的数字摄影后期处理软件
  • 测试反馈陷入死循环?5大策略拆解新旧Bug难题
  • if consteval
  • 多模态大型模型,实现以人为中心的精细视频理解