热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网络基础URLDNS解析的过程TCP/UDPHTTP与HTTPSTCP三次握手

网络基础URIUniformResourceIdentifer统一资源标识符用来唯一的标识一个资源URLUniformResourceLocator统一资源定位符URL可以以哦




网络基础

URI Uniform Resource Identifer
统一资源标识符 用来唯一的标识一个资源

URL Uniform Resource Locator
统一资源定位符 URL可以以哦那个来标识一个资源 而且还指明了如何定位这个资源 用地址定义一个资源

URN Uniform Resource Name
统一资源命名 即通过名字来表示资源的 用名称定位一个资源

URL肯定是一个URL URL并不一定是URL 也有可能是URN
URL与URN是URI的子集


URL

1.资源标识
2.具有定位资源的功能(资源的具体位置)
3.指明了获取资源所采用的协议

协议名称 + 主机名称 + 端口号 + 路径 + 文件 + 查询所需的字符串
https 默认端口号 443 http 默认端口号 80 MySQL 默认端口号 3306


举例

想找一个人 那这个人的名称就是一个URI

通过家庭住址找就是URL 通过姓名+身份证号就是URN


DNS

Domain Name Server 域名服务器

作用:域名与对应的IP转换的服务器

特征:DNS中保存了一张域名与对应的IP地址的表 一个域名对应一个IP地址 一个IP地址可以对应多个域名

gTLD: generic Top-Level DNS Server 顶级域名服务器

为所有.com .net …后缀域名解析的服务器


DNS解析的过程

当输入一个域名 先从DNS本地服务器寻找 这个域名对应的IP地址 如果缓存里没有找到
去向根服务器去寻找 如果根服务器中没有找到 就去.com域服务器寻找 如果还没找到
就去 域名的域服务器寻找 最后会在这里找到对应的IP地址 然后缓存到DNS本地服务器
下次寻找就不会这么麻烦了


IP

Internet Protocol Address

互联网协议地址 IP地址

作用 分配给用户上网使用的互联网协议

分类 IPv4(长度32位(4个字节) 十进制表示) IPv6(8组(128位) 16进制)

IPv6 地址空间更大 路由表更小 组表支持以及对流支持增强 对自动配置的支持 更高的安全性


TCP (打电话)

Transmission Control Protocol 传输控制协议

特点 面向连接(首发数据前 必须建立可靠的连接)

建立连接的基础:三次握手

应用场景:数据必须准确无误的收发 HTTP请求 FTP文件传输 邮件收发

优点 稳定 重传机制 拥塞控制机制 断开机制

缺点 速度慢 效率低 占用资源 容易被攻击(三次握手的过程中 DOS DDOS 攻击)

TCP/IP协议组 提供点对点的连接机制 制定了数据封装 定址 传输 路由 数据接收的标准


UDP(喇叭叫人)

User Data Protocal 用户数据报协议

特点 面向无连接(不可靠的协议 无传输状态机制) 无连接信息发送机制

应用场景 无需确保通讯质量且要求速度快 无需确保信息完整
消息收发 语音通话 直播(QQ)

优点 安全 快速 漏洞少(UDP flood攻击)

缺点 不可靠 不稳定 容易丢包

总结 只要目的的源地址 端口号 地地址 端口号确定 则可以直接发送信息报文 但不能保证一定能收到或收到完整的数据


HTTP与HTTPS

HTTP:HyperText Tranfer Protocol 超文本传输协议

定义 客户端和服务器端请求和应答的标准 用于从WEB服务器传输超文本到本地浏览器的传输协议

HTTP请求 按照协议规则先向WEB服务器发送的将超文本传输到本地浏览器的请求
HTTPS:HyperText Transfer Protocol Secure 超文本传输安全协议

定义 HTTP的安全版 (安全基础是SSL/TLS)

SSL Secure Sockets Layer 安全套接层
TLS Transport Layer Security 传输层安全

位网络通讯提供安全及数据完整性的一种安全协议 对网络连接进行加密


区别

1.HTTP是不安全的(监听和中间人攻击的手段 获取网站账户信息和敏感信息)
HTTPS可防止被攻击

2.HTTP协议的传输内容是明文 直接在TCP连接上运行 客户端和服务器都无法验证对方身份

3.HTTPS协议的传输内容都被SSL/TLS加密 且运行在SSL/TLS上 SSL/TLS运行在TCP连接上 所以数据传输是安全的


TCP三次握手

标志位: 数据包
SYN:Synchronize Sequence Numbers 同步序列编号
ACK:Acknowledgement 确认字符

状态
LISTEN: 侦听TCP端口的连接请求(我等着你发送连接请求呢)
SYN_SENT:在发送连接请求后等待匹配的连接请求(我发送了连接请求 我等你回复哈)
SYN_RECEIVED:在收到和发送一个连接请求后等待对连接请求的确认 (我收到你的连接请求了哈 我等你回复我)
ESTABLISHED:代表一个打开的连接 数据可以传送给用户(建立连接了哈 我跟你说一下)
在这里插入图片描述

第一次握手
客户端向服务器发送SYN标志位(序号是J)并进入SYN_SEND状态(等待服务器确认状态)

第二次握手
服务器收到来自客户端的SYNJ 服务端会确认该数据包已收到并发送ACK标志位(序号是J+1) 和SYN标志位(序号是K) 服务器进入SYN_RECV(请求接收并等待客户端确认状态)

第三次握手
客户端进入连接状态后 向服务器发送ACK标志位(序号是K+1) 确认客户端已收到建立连接确认 服务器收到ACK标志位后 服务端进入连接建立状态







推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 网卡工作原理及网络知识分享
    本文介绍了网卡的工作原理,包括CSMA/CD、ARP欺骗等网络知识。网卡是负责整台计算机的网络通信,没有它,计算机将成为信息孤岛。文章通过一个对话的形式,生动形象地讲述了网卡的工作原理,并介绍了集线器Hub时代的网络构成。对于想学习网络知识的读者来说,本文是一篇不错的参考资料。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
author-avatar
森__林蘑菇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有