目录

1.域名概述

2.DNS解析

2.2 linux系统下常用的DNS解析

2.2.1 linux系统中DNS解析生效顺序

2.3 域名服务器(分布式,每台主机维护一个部分)

2.4 域名空间结构(从右往左看)

3、域名注册

3.1 Web概述

一、HTTP协议 简介

二、HTTP版本

三、HTTP 方法

四、HTTP状态码

五、HTTP 请求流程分析

1.请求报文

2.响应报文


1.域名概述

域名是互联网上用于识别和定位网站或电子邮件服务器等资源的字符串。它通常由一个或多个子域名和一个顶级域名组成,例如:www.example.com。

简单来说,它就像一个互联网地址簿,用来帮助人们更容易地访问网站或发送电子邮件。通过域名,用户可以避免输入IP地址这个难度颇高且不易记忆的数字序列。

域名系统(DNS)是互联网的基础设施之一,它通过将人们可读的域名转换为计算机可读的IP地址,使互联网通信更加便捷和可靠。所有的域名都必须进行注册,而域名注册是由专门的域名注册机构来提供服务的。

扩展 面试点 01

1、阿里云域名怎么申请?

申请 查询重名 给钱20-60块 备案(阿里云)拍照(负责人拍照人) 10-20天 申请之后就可以解析和用 但是如果有问题 会被封

2.DNS解析

DNS解析是指将人类可读的域名转换成计算机可用的IP地址的过程,常见的DNS解析方式有以下三种:

1. 递归查询(Recursive Query):递归查询是一种由本地DNS服务器负责向根域名服务器不断查询,直到查询到目标域名的IP地址。递归查询可能会请求多个DNS服务器的响应,并将结果缓存到本地DNS服务器中。

2. 迭代查询(Iterative Query):迭代查询是一种分步查询的方式。在这种方式下,本地DNS服务器会向根域名服务器询问下一级DNS服务器的地址,然后向该服务器进一步的查询。本地DNS服务器不会请求多个响应,而是依次向相关的DNS服务器逐一发出查询请求。

3. 反向查询(Reverse Query):反向查询是一种通过IP地址确定域名的方式。在这种方式下,服务器将IP地址反向解析为一个与域名相关的名称。这种方式通常只在需要查找特定服务器的名称时使用,而不是为每个服务器创建适当的名称。

2.2 linux系统下常用的DNS解析

基于Linux系统下常用的DNS解析方式,采用了/etc/hosts、/etc/resolv.conf和网卡配置文件等多种方式。

以上述方式的顺序进行DNS解析:

1. 首先,系统会查看本地/etc/hosts文件,如果目标域名在该文件中,则直接返回映射的IP地址。

2. 如果目标域名不在本地/etc/hosts文件中,系统将会查看网卡配置文件中的DNS服务器配置,使用其中第一个DNS服务器地址向其发出查询请求,如果该DNS服务器能够解析该域名,则返回IP地址。

3. 如果第一个DNS服务器无法解析该域名,系统将会使用/etc/resolv.conf文件中列出的下一台DNS服务器地址向其发出查询请求,如果该DNS服务器能够解析该域名,则返回IP地址。

4. 如果在/etc/resolv.conf中列出的所有DNS服务器地址都无法解析该域名,则会返回解析失败的信息。

2.2.1 linux系统中DNS解析生效顺序

1 hosts文件 2 网卡配置文件 3 /etc/resolv.conf

2.3 域名服务器(分布式,每台主机维护一个部分)

① 保持和维护域名空间的程序

② 响应解析器的请求

2.4 域名空间结构(从右往左看)

① 根域 位于域名空间最顶层,一般用一个 “.” 表示

其他所有的域名都是根域的子域名。根域包含所有TLD(顶级域名),例如.com、.org、.net等等。

② 顶级域 一般代表一种类型的组织机构或国家地区(主要有此两种类型构成),如 net(网络公司)、com(商业)、org(民间团体组织)、edu(教育)、gov(政府)、mil(军事)、cn(中国)、jp(日本)、hk(中国香港)

③ 二级域 用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

④ 子域 子域名(或子域;英语:Subdomain)是在域名系统等级中,属于更高一层域的域。比如,mail.example.com和calendar.example.com是example.com的两个子域,而example.com则是顶级域.com的子域。凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名

主机 主机位于域名空间最下层,就是一台具体的计算机,如 www、mail、都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名),也是这台主机在域名中的全名

3、域名注册

域名注册是Internet中用于解决地址对应问题的一种方法 遵循先申请先注册原则 域名注册步骤: 准备申请资料————》寻找域名注册网站————》查询域名————》正式申请————》申请成功

3.1 Web概述

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

万维网并非某种特殊的计算机网络,是一个大规模的、联机式的信息贮藏库,使用链接的方法能非常方便地从因特网上的一个站点访问另一个站点(超链技术),具有提 供分布式服务的特点。万维网是一个分布式的超媒体系统,是超文本系统的扩充,基于B/S架构实现。

URL:万维网使用统一资源定位符(Uniform Resource Locator)来标志万维网上的各种文档,并使每个文档在整个因特网的范围内具有唯一的标识符URL。

HTTP:为解决"用什么样的网络协议来实现整个因特网上的万维网文档”这一难题,就要使万维网客户程 序(以浏览器为主,但不限于浏览器)与万维网服务器程序之间的交互遵守严格的协议,即超文本传送 协议(HyperText Transfer Protocol)。HTTP是处于应用层的协议,使用TCP传输层协议进行可靠的传送。因此,需要特别提醒的是,万维网是基于因特网的一种广泛因特网应用系统,且万维网采用的是

HTTP(80/TCP)和 HTTPS(443/TCP)的传输协议,但因特网还有其他的网络应用系统(如:FTP、SMTP等等)。

HTML:为了解决"怎样使不同作者创作的不同风格的万维网文档,都能在因特网上的各种主机上显示出 来,同时使用户清楚地知道在什么地方存在着链接”这一问题,万维网使用超文本标记语言(HyperText Markup Language),使得万维网页面的设计者可以很方便地用链接从页面的某处链接到因特网的任何一个万维网页面,并且能够在自己的主机品目上将这些页面显示出来。HTML与txt一样,仅仅是是一种 文档,不同之处在于,这种文档专供于浏览器上为浏览器用户提供统一的界面呈现的统一规约。且具备 结构化的特征,这是txt所不具备的强制规定。

一、HTTP协议 简介

客户端输入域名,经域名解析成IP地址,在与服务端建立数据传输之前,要先建立TCP连接(三次握手),然后向服务端发送http请求,包括请求的方法、内容相应的版本号,服务端收到后进行相应,包括状态码,也就是请求的结果,完成一次客户端的http请求后断开TCP连接(四次挥手),此时服务器处于TCP连接的time_wait状态。

二、HTTP版本

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

  1. HTTP/0.9:已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息。

  2. HTTP/1.0:这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。

  3. HTTP/1.1:引入持续连接,即TCP连接默认不关闭,可以被多个请求复用,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。(每次http连接都要进行三次握手,产生很多报文,造成资源浪费)

  4. HTTP/2.0:完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求和回应,而且不用按照顺序一一对应。引入头部信息压缩机制。支持服务端推送,允许服务器未经过请求,主动向客户端发送资源(例如打开浏览器时的广告)。

三、HTTP 方法

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

HTTP 描述
GET 对服务器资源获取的简单请求
PUT 向服务器提交数据,以修改数据
DELETE 删除服务器上的某些资源
POST 用于发送包含用户提交数据的请求
HEAD 请求页面的首部,获取资源的元信息
  1. GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。

  2. 与GE不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

  3. POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

  4. DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作

GET和POST比较

GET方法:从指定的服务器上获得数据

  • GET请求能被缓存

  • GET请求会保存在浏览器的浏览纪录里

  • GET请求有长度的限制

主要用于获取数据

查询的字符串会显示在URL后缀中,不安全,比如http://www.test.com/a.php?Id=123

POST方法:提交数据给指定服务器处理

  • POST请求不能被缓存

  • POST请求不会保存在浏览器的浏览纪录里

  • POST请求没有长度限制查询的字符串不会显示在URL中,比较安全

四、HTTP状态码

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码,当浏览器请求某一URL时,服务器根据处理情况返回相应的处理状态。

通常正常的状态码为2xx,3xx(如200),如果出现异常会返回4xx,5xx(如404)。

状态码首位 已定义 范围 分类
1xxx 100-101 信息提示
2xxx 200-206 成功
3xxx 300-305 重定向
4xxx 400-415 客户端错误
5xxx 500-505 服务器错误

常见状态码

状态码 功能描述
200 一切正常
301 永久重定向
302 临时重定向
401 用户名或密码错误
403 禁止访问(客户端IP地址被拒绝)
404 访问文件不存在
414 请求URI头部过长
500 服务器内部错误
502 无效网关
503 当前服务不可用
504 网关请求超时

五、HTTP 请求流程分析

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

1.请求报文

  • 请求行:请求行由请求方法、URL以及协议版本三部分组成。

  • 请求头:请求头为请求报文添加了一些附加信息,由“名/值“对组成,每行一对,名和值之间使用冒号分隔。

  • 空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。

  • 请求体:请求体是请求提交的参数,GET方法已经在URL中指明了参数,所以提交时没有数据。osT方法提交的参数在请求体中。

常用的请求头

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

2.响应报文

  • 状态行:状态行由协议版本,状态码,状态码描述三部分组成。

  • 响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。

  • 空行:响应头部的最后会有一个空行,表示响应头部结束。

  • 响应体:服务器返回的相应HTML数据,浏览器对其解析后显示页面。

常见响应头

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

域名详解与web概述及HTTP协议概述相关推荐

  1. java web ip_详解Java Web如何限制访问的IP的两种方法

    前一阵子因为在做项目时碰到了这个功能,现在好好总结一下,至于为什么要限制IP访问,我就不多说了.然后百度了一下,现在主要有两种方式去限制IP访问,第一种是最简单的方便的,第二种是通过过滤器来限制访问. ...

  2. AXI接口协议详解-AXI总线、接口、协议

    转自:https://cloud.tencent.com/developer/article/1695010 AXI接口协议详解-AXI总线.接口.协议 AXI 总线 上面介绍了AMBA总线中的两种, ...

  3. java web编码详解_java web 开发 编码问题详解

    java web 开发 编码问题详解 浏览器 IE/FireFox ------------->Servlet容器-------------------------->显示页面 编码   ...

  4. TCPIP详解Protocol 读书笔记(三) IP协议讲解

    TCP/IP详解:Protocol 读书笔记(三) Chapter3 IP:网际协议 文章目录 TCP/IP详解:Protocol 读书笔记(三) Chapter3 IP:网际协议 IP协议 IP数据 ...

  5. FFmpeg入门详解之86:RTP/RTCP协议讲解

    RTP RTP:(Real-time Transport Protocol) 是用于Internet上针对多媒体数据流的一种传输层协议.RTP 协议和 RTP 控制协议 RTCP 一起使用,而且它是建 ...

  6. FFmpeg入门详解之112:RTP/RTCP协议讲解

    RTP RTP:(Real-time Transport Protocol) 是用于Internet上针对多媒体数据流的一种传输层协议.RTP 协议和 RTP 控制协议 RTCP 一起使用,而且它是建 ...

  7. FFmpeg入门详解之87:HLS直播协议详解

    引言与效果演示 ----------------------------------------- FFmpeg431的官方地址已经无法打开, 我将ffmepg4.3.1的开发包和源码上传到了百度云: ...

  8. FFmpeg入门详解之102:HLS直播协议详解

    引言与效果演示 ----------------------------------------- FFmpeg431的官方地址已经无法打开, 我将ffmepg4.3.1的开发包和源码上传到了百度云: ...

  9. 【TCP-IP详解卷1-协议】第一章 概述

    目录 1.引言 2.分层 2.1 分层的理解 2.2 一个例子 2.3 为什么要区分网络层和运输层呢? 3.TCP/IP的分层 4.互联网的地址 5.域名系统 6.封装 7.分用 8.客户服务器模型 ...

最新文章

  1. Java Iterator 接口简介和简单用法.
  2. boost::multiprecision模块complex128相关的测试程序
  3. ORA-00020:maximum number of processes (150) exceeded 错误解决方法
  4. 李浩:无限节点的CDN架构演进
  5. 《转》Ubuntu 12.04常用的快捷键
  6. 输入aAZut,输出bBAvu
  7. poj 3714 Raid
  8. 如何安装mysql5.7.25流程_linux下安装mysql5.7.25详细教程
  9. 这几天阅读的shadowgun的几个shader
  10. 月关“历史网络小说第一人”:第四届橙瓜网络文学奖十佳历史大神
  11. Switch 块、Switch 表达式、Switch 模式匹配,越来越好用的 Switch
  12. buuctf--CrackRTF
  13. go reflect详解
  14. linux学习篇 之 复制、黏贴、删除、撤销
  15. 构思编辑器教你如何不用代码排版出好看的微信公众号文章
  16. 主动求变,苏宁易购如何破局2022?
  17. 服务器返回的14种常见HTTP状态码
  18. 深耕DID,INTO钱包拿到进入Web3的钥匙
  19. 新手如何做英文站赚美元
  20. linux+字体设置推荐,linux字体设置从入门到精通(入门级)

热门文章

  1. 0欧姆电阻在电路中的作用
  2. 【软件测试基础理论知识】1.2.常见的软件开发模型之———增量模型(渐增模型)、螺旋模型
  3. 基于Postgresql和PostGIS实现火星坐标系、百度坐标系、WGS84坐标系、CGCS2000坐标系互转
  4. 剑指offer 66道题目java实现全部代码
  5. 加密狗原理介绍(转)
  6. div如何实现横向滚动
  7. 早会沟通需要注意什么
  8. java 婚恋交友网站Myeclipse开发mysql数据库web结构jsp编程计算机网页项目
  9. gbdt+LR做推荐
  10. 麒麟系统上,显示器中显示器亮度调节功能无法使用