基础_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)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据 ...
随机推荐
- shell脚本的函数介绍和使用案例
#前言:今天我们来聊聊shell脚本中的函数知识,看一下函数的优势,执行过程和相关的使用案例,我们也来看一下shell和python的函数书写方式有什么不同 #简介 .函数也具有别名类似的功能 .函数 ...
- java基于Hash表和双向链表简单实现LRU Cache
package lru; import java.util.HashMap; public class LRUCache2<K,V> { public final int capacity ...
- 搭建SQL server AwaysOn集群
1.环境 系统:windows server 2012 R2 数据库版本:SQL server 2012 三台服务器,IP分别是:10.10.10.111,10.10.10.112,10.10.10. ...
- PHP - json_decode returns NULL的解决办法
碰到了PHP json_decode returns NULL, 肿么办? 1. google 一下, 关键字:PHP json_decode NULL 首先你能看到我这个这个帖子:) http:// ...
- win10系统 端口查看问题。
首先看图根据系统自带命令netsta介绍,说明显示协议系统信息和当前TCP/IP 网络连接. 使用范例: 打开命令提示符窗口,在这里输入命令netstat -an,然后按下回车键,这时可以显示出电脑中 ...
- JS烟花案例优化版
不明白为什么是烟花优化版本的先参考作者的烟花基础版本 烟花优化版本主要实在优化爆炸的范围和运动上做了优化,爆炸范围我们采用已圆的爆炸方式,以鼠标点击的位置为圆形爆炸的烟花效果 <!DOCTYPE ...
- ArrayList源码浅析
这里只理解主要的常用方法: 1 public class ArrayList<E> extends AbstractList<E> 2 implements List<E ...
- SpringBoot 入门:项目属性配置
开发一个SpringBoot 项目,首当其冲,必然是配置项目 一.项目属性配置 1. SpringBoot自带了Tomcat服务器,通过使用项目配置文件来修改项目的配置,如图配置了部署在80端口,目录 ...
- 1018 Public Bike Management (30 分)
There is a public bike service in Hangzhou City which provides great convenience to the tourists fro ...
- 家庭记账本app进度之对于登录和注册两个界面点击按钮的相互跳转
这次主要完成了两个两个android页面之间的跳转.从登录页面点击注册就会跳转到注册页面.在注册页面点击返回登录,这样就可以返回到登录界面.主要是这样的操作.其中遇到了一个困难主要是当点击按钮的时候, ...