基础_TCP/IP
概念明确:
1:TCP/IP代表传输控制协议/网际协议,指的是一系列协议 为什么会叫TCP/IP、因为用的多,
2:HTTP 是属于应用层的协议
3:OSI七层模型和TCP/IP 平等,只是TCP/IP协议簇被广泛使用
TCP/IP协议簇基本框架就:应用层,传输层,网络层,链路层
最直白的解释 :如下
由光纤铺起来的一条IP高速路,一辆TPC卡车 载着你买的HTTP货物,真正发送到你家去
1:为什么是HTTP货物,不是其他ftp,ssh啊之类的, 你指望一家卖五金店的卖玩具? 所以你让浏览器不用http 用其他协议?
2:为什么是TCP卡车,如果卡车装的是一箱子钱,tcp像是配备了保镖(特殊的机制保证数据安全 不会传给别人) 你会使用UDP 三轮车还没有导航来到你的村里,随便送给一家?
3:为什么是IP高速公路:你先也可以选择走别的烂泥路并且建在喜马拉雅山的烂泥路协议(当然建成了能更快登顶,这就是特殊人群,特殊用处),不拦着你
5:为什么是光纤:你也可以用 线路,无线电
所以为什么四层协议里面各种模型叫做tcp/ip 因为用的多,比其他的好用
有了如上明确的概念 于是秃头的面试官拿着你的简历,眼睛斜视着你,嘴角勾起微笑就问道: 脑海中同时想起自己曾经被这些该死的问题支配的恐惧
1:请问HTTP和HTTPS的区别
概念:
HTTP是什么:超文本 传输 协议
超文本:图片,音频,文字, 这些叫做数据
传输:就是数据需要经过一系列的物理介质从一个端系统传送到另外一个端系统的过程。通常我们把传输数据包的一方称为请求方
,把接到二进制数据包的一方称为应答方
。
协议:指的就是是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些 规则就称为协议,只不过是网络协议。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持
SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密
回答:
首先 第一点:HTTP是超文本传输协议,建立在TCP/IP的基础之上的 但是HTTP 是未经安全加密的协议 所以你的货物容易被偷
第二点:HTTPS比HTTP更安全,因为多了一层 TLS/SSL协议
第三点:https在地址栏是一https://开头,http是以:http开头
第四点:HTTP 的默认端口是 80,而 HTTPS 的默认端口是 443。
当你回答这些之后,面试官泛起一些波澜,这小子有货!
于是
2请问 HTTP 里面的GET和POST的区别
get:1:请求服务器返回资源,2:不安全因为请求参数会凭借在url后面,容易窃听篡改:3:长度有限制:4:会被浏览器cache缓存
post:1:数据提交2:长度没限制
在回答完之后,突然面试官插了一嘴,为什么get是不安全的,post和get谁更安全
错误回答:啊呀肯定post更安全啊,因为get传输方式是在url显示啊,容易被截获啊
正确回答:你错了,面试官,当你问起这个问题之后,你就没考虑到HTTP协议的存在,来我给你上一课
首先: HTTP协议中提到GET是安全的方法(safe method) 其意思是说GET方法不会改变服务器端数据,所以不会产生副作用。
如果是该用POST的地方用了GET,又说GET不安全,那GET也太冤枉了。
也就是说,只要我们正确选择使用GET和POST,那么GET是安全的。
当然以上回答之针对于get和post谁更安全这个话题
被将了一军的面试官,擦着额头上的虚汗,暗道:既然说到http那么
3请问什么是无状态协议,HTTP属于无状态协议吗,怎么解决无状态协议
1:无状态协议是:浏览器对于个人操作是没有记忆能力的,像我们登录网站,下次自动记住密码是Cookie的作用
2:HTTP不属于无状态协议啊
3:怎么解决:使用Cookie,
面试官:这小子我不信,问不倒他,既然说到登录网站那么
4请问你在地址栏输入www.****.com发送了什么
1:浏览器会根据你输入的 URL 地址,去查找域名是否被本地 DNS 缓存,不同浏览器对 DNS 的设置不同,如果浏览器缓存了你想访问的 URL 地址,那就直接返回 ip。如果没有缓存你的 URL 地址,浏览器就会发起系统调用来查询本机 hosts
文件是否有配置 ip 地址,如果找到,直接返回。如果找不到,就向网络中发起一个 DNS 查询。
2:查询方式是先:根域名服务器 -> 顶级域名服务器 -> 权威 DNS 服务器 查到之后告诉你目标Ip地址
3:浏览器与服务器建立TCP链接,
4:建立链接之后,浏览器发送http,GET请求 然后返回给你
面试官:这小伙子技术是真的可以,但我不甘心,于是乎终极一问
5:既然你说到浏览器与服务器建立TCP链接,那么 什么是TCP三次握手和四次挥手
TCP三次握手是建立链接:
通俗;
小明 - 客户端 小红 - 服务端
- 小明给小红打电话,接通了后,小明说喂,能听到吗,这就相当于是连接建立。
- 小红给小明回应,能听到,你能听到我说的话吗,这就相当于是请求响应。
- 小明听到小红的回应后,好的,这相当于是连接确认。在这之后小明和小红就可以通话/交换信息了。
图解:
面试官:小伙子你不错,恭喜你面试成功,下面让HR找你砍工资吧!
以上内容借鉴地址:
面试HTTP:https://www.cnblogs.com/cxuanBlog/p/12735623.html
TCP/IP的区别:https://www.cnblogs.com/xianlei/p/tcpip_http.html
深入浅出TCP/IP协议:https://www.cnblogs.com/onepixel/p/7092302.html
基础_TCP/IP的更多相关文章
- 计算机网络基础之IP地址详解
计算机网络基础之IP地址详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.IP地址概述 1>.什么是IP地址 我们为什么要使用逻辑地址(IP地址)来标识网络设备,而不采 ...
- 网络基础tcp/ip协议五
传输层的作用: ip层提供点到点的链接. 传输层提供端到端的链接. 传输层的协议: TCP: 传输控制协议可靠的,面向链接的协议,传输效率低. UDP: 用户数据报协议,不可靠,无连接的服务,传输效率 ...
- 《图解HTTP》读书笔记(一:网络基础TCP/IP)
好书什么时候开始读都不晚.作为一个测试人员,是一定要掌握一些网络的基础知识的.希望能够边读书边在这里记录笔记,便于加深理解以及日后查阅. 一.TCP/IP协议族 计算机与网络设备要互相通信,双方必须基 ...
- Day 6-1计算机网络基础&TCP/IP
按照功能不同,人们将互联网协议分为osi七层或tcp/ip五层或tcp/ip四层(我们只需要掌握tcp/ip五层协议即可) 每层运行常见物理设备: TCP/IP协议: Transmission Con ...
- 网络基础之IP地址和子网掩码
IP地址 IP是英文Internet Protocol的缩写,意思是"网络之间互连的协议",也就是为计算机网络相互连接进行通信而设计的协议.在因特网中,它是能使连接到网上的所有计算 ...
- 网络基础 TCP/IP
为了理解 HTTP,我们有必要事先了解一下 TCP/IP 协议族.通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的.而 HTTP 属于它内部的一个子集.接下来,我们仅介绍理解 HT ...
- 加深理解HTTP请求---网络基础TCP/IP
为了了解HTTP,必须的了解TCP/IP协议族. 通常使用的网络实在TCP/IP协议族的基础上运作的.而HTTP就属于他的一个子集. 1.TCP/IP 协议族 计算机与网络设备要相互通信,双方就必须基 ...
- 网络基础之IP地址与子网划分
IP地址 Ipv4地址格式:点分十进制 IP地址的分类 A类 B类 C类: D类:组播 E类: 公共IP地址 私有IP地址 特殊地址 保留地址 子网掩码 什么是子网掩码 CIDR表示法 子网划分 为啥 ...
- 网络基础tcp/ip协议四
网络层的功能: 定义了基于ip协议的逻辑地址. 链接不同的媒介类型. 选择数据通过网络的最佳路劲. 数据包格式: 优先级与服务类型(8)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据 ...
随机推荐
- python-pathlib
2019-12-12 04:27:17 我们知道在不同的操作系统中文件路径的组成方式是不同的,因此在python中关于路径的问题以往我们通常采用os.path.join来进行路径的字符串级别的串联,通 ...
- R语言基本操作
is.na and is.element is.na can use which, it finds specific rows, is.element can't, it is designed t ...
- Transformers 库常见的用例 | 三
作者|huggingface 编译|VK 来源|Github 本章介绍使用Transformers库时最常见的用例.可用的模型允许许多不同的配置,并且在用例中具有很强的通用性.这里介绍了最简单的方法, ...
- [Jenkins01] Jenkins的安装和部署(jenkins教程)
一.jenkins的下载.安装以及环境的搭建部署. 1.什么是jenkins以及它的作用: Jenkins 是一个可扩展的持续集成(CI)平台.它只是一个平台,真正运作的都是插件. Jenkins的主 ...
- 快,学会 shell
本文分成入门篇和基础篇.基础篇包括变量.字符串处理.数学运算三部分.基础篇包括流控制.函数和函数库三部分.主要是基于例子进行讲解,其中有 4 个复杂一点的脚本,看懂了也就入门了. 我们先来聊一聊 sh ...
- Otb_000_ElementUI 的 Drawer组件无法上下滚动没有滚动条
场景:当导航为侧边栏的时候,鼠标滚轮滑动的时候,以及移动端,均不可上下拖动,如果展开全部将影响操作. 解决办法: /*1.显示滚动条:当内容超出容器的时候,可以拖动:*/ .el-drawer__bo ...
- 提示要安装Python-OpenSSL
PyOpenSSL是OpenSSL的python接口,用于提供加密传输支持(SSL),如果没用该模组,会导致goagent无法生成证书而影响使用. 若系统没有openssl,先安装openssl,** ...
- mpvue中使用flyjs全局拦截
mpvue全局属性设置,在我之前的文章中有介绍,今天想记录的就是怎么和Fly.js结合使用来实现全局拦截功能: 首先我们要安装好Flyio,在mpvue项目中我们用npm下载安装: npm insta ...
- leetcode【1403. 非递增顺序的最小子序列】(01)
题目描述: 给你一个数组 nums,请你从中抽取一个子序列,满足该子序列的元素之和 严格 大于未包含在该子序列中的各元素之和. 如果存在多个解决方案,只需返回 长度最小 的子序列.如果仍然有多个解决方 ...
- Matlab入门(二)
数据类型 1.整形 有符号 1 字节整数 -27 - 27-1 int8() 有符号 2 字节整数 -215 - 215-1 int16() 有符号 4 字节整数 -231 - 231-1 int32 ...