计算机网络基础
应用层协议
应用层协议是互联网通信的核心,包括DNS(域名解析)、HTTP(超文本传输协议)、HTTPS(安全的HTTP)、FTP、Telnet、SMTP、NFS等。
DNS:通过分布式数据库将域名转换为IP地址
HTTP:用于在万维网上传输数据
HTTPS:通过加密确保通信安全
FTP:文本传输协议,用于在客户端和服务器间传输文件
一、DNS
1.DNS是什么
DNS 全名叫 Domain Name Server,中文俗称“域名服务器”,在 Internet 上域名与 IP 地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器,将域名(机器名) 转换为 IP地址。
DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据。如果整个因特网都使用一个域名服务器,负荷太大, 所以 DNS 设计成一个分布式的数据库,即使单个主机出故障也不会妨碍整个 DNS 系统。另外 DNS 使得大多数域名都能在本地解析,仅少量解析需要在因特网上通信,因此 DNS 效率很高。
2.域名结构
域名结构是树状结构,树的最顶端代表根域名,下一层是 .com、.cn 等顶级域名,再下层就是二级、三级、四级域名。
顶级域名:代表服务器或网站的性质——eg.com(商用)、cn(中国)、net(提供信息)、edu(教育)
二级域名:每个人都可以申请的,可以在顶级域名下申请,比如www.esyc.com中esyc就是一个二级域名。在二级域名下你就可以注册其他域名了。
三级域名:www.mail.esyc.com中mail就是三级域名。在www.esyc.com这个域名注册这个三级域名的时候无需在征得com域名的同意。即一个域创建子域的时候不需要征求上级同意。
当然域名可以3级可以4级可以5级等等,级别是没有限制的,只需要满足,一个域名的各个组成部分不超过63个字符长,总长不超过255个字符长。
3.域名服务器
● 根域名服务器:最高层次的域名服务器,根域名服务器知道所有顶级域名服务器的域名和IP地址。任何一个本地域名服务器要对互联网上的任何域名进行解析,只要自己无法解析,就会首先求助于根域名服务器。
● 顶级域名服务器:管理在该顶级域名服务器下注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步需要去找的域名服务器的IP地址)。
● 权限域名服务器(权威域名服务器):负责一个区的域名服务器。当一个权威域名服务器不能给出最终的查询结果时,就会告诉发出请求方,下一步应该去找哪一个权威域名服务器。
● 本地域名服务器(递归服务器):主机发出 DNS 查询请求时,该请求首先会发给本地域名服务器。
4.DNS解析流程及方式
(1)迭代查询

(2)递归查询

5.UDP与TCP
DNS 在进行区域传输的时候使用 TCP 协议,其它时候则使用 UDP 协议
TCP:区域传输使用TCP(Three-way Handshake)。因为数据同步传输的数据量比较大,TCP是一种可靠的连接保证了数据的准确性
UDP:客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可
————————————————————
版权声明:本文为CSDN博主「IT____learning」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/IT__learning/article/details/119715469
二、HTTP
1.什么是HTTP
HTTP 使用一种基于消息的模型,建立于 TCP 层之上。HTTP协议分为两种主要部分:请求协议和响应协议由客户端发送一条请求消息,而后由服务器返回一条响应消息。
请求协议:由客户端发起,包含了诸如GET、POST等方法来获取或提交资源。
响应协议:由服务器返回给客户端的数据包,其中包括状态码、头部信息及实际内容。
URL基础知识普及:
URL(Uniform Resource Locator)统一资源定位器,就是网址的意思。每一个网页都有只属于自己的URL地址(我们俗称网址),它具有全球唯一性。其基本组成部分通常包括方案名(scheme),主机(host),端口号(port),路径(path) 和查询参数(query string)。
例如:
https://www.example.com:8080/path/to/resource?name=value其中各部分含义如下:
https: 方案名,表示使用的安全协议www.example.com: 主机名称8080: 非标准端口号码/path/to/resource: 资源的具体位置?name=value: 查询字符串
2.HTTP请求————请求行 请求头部 空白 请求数据
(1)请求行
Method Request-URI HTTP-Version CRLF
Method : 表示请求方法
Request-URI : 是一个统一资源标识符
HTTP-Version : 表示请求的HTTP协议版本
CRLF : 表示回车和换行

Method请求方法:
GET 请求获取 URL 资源
POST 执行操作,请求 URL 资源后附加新的数据
HEAD 只获取资源响应消息报头
PUT 请求服务器存储一个资源
DELETE 请求服务器删除资源
TRACE 请求服务器回送收到的信息
OPTIONS 查询服务器的支持选项
(2)请求头
| Header头部 | 解释 | 示例 |
|---|---|---|
| Host | 指定请求的服务器的域名和端口号 | Host: hetianlab.com |
| Content-Length | 请求的内容长度 | Content-Length: 316 |
| Accept | 指定客户端能够接收的内容类型 | Accept: application/json, text/javascript,/;q=0.01 |
| X-Requested-With | Ajax 异步请求 | X-Requested-With:XMLHttpRequest |
| User-Agent | 包含发出请求的用户信息 | User-Agent: Mozilla/5.0(Windows NT 10.0; Win64;x64) |
| Content-Type | 请求的与实体对应的MIME信息 | Content-Type: application/x-www-form-urlencoded; charset=UTF-8 |
| Origin | 指明当前请求来自于哪个站点 | Origin: http://hetianlab.com |
| Referer | 先前网页的地址,当前请求网页紧随其后 | Referer: http://hetianlab.com/loginLab.do |
| Accept-Encoding | 指定浏览器可支持的web服务器返回内容压缩编码类型 | Accept-Encoding:gzip,deflate |
| Accept-Language US:q=0.6 | 浏览器可接受的语言 | Accept-Language:zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 |
| Cookie | HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器 | Cookie:JSESSIONID=68C618EFCAE4530CAF6A1684E082053E.jvm0 |
(3)空白
表示请求头结束,请求正文(请求体)开始
(4)请求数据
3.HTTP操作过程
网络基础.pdf
