概念明确:

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的更多相关文章

  1. 计算机网络基础之IP地址详解

    计算机网络基础之IP地址详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.IP地址概述 1>.什么是IP地址 我们为什么要使用逻辑地址(IP地址)来标识网络设备,而不采 ...

  2. 网络基础tcp/ip协议五

    传输层的作用: ip层提供点到点的链接. 传输层提供端到端的链接. 传输层的协议: TCP: 传输控制协议可靠的,面向链接的协议,传输效率低. UDP: 用户数据报协议,不可靠,无连接的服务,传输效率 ...

  3. 《图解HTTP》读书笔记(一:网络基础TCP/IP)

    好书什么时候开始读都不晚.作为一个测试人员,是一定要掌握一些网络的基础知识的.希望能够边读书边在这里记录笔记,便于加深理解以及日后查阅. 一.TCP/IP协议族 计算机与网络设备要互相通信,双方必须基 ...

  4. Day 6-1计算机网络基础&TCP/IP

    按照功能不同,人们将互联网协议分为osi七层或tcp/ip五层或tcp/ip四层(我们只需要掌握tcp/ip五层协议即可) 每层运行常见物理设备: TCP/IP协议: Transmission Con ...

  5. 网络基础之IP地址和子网掩码

    IP地址 IP是英文Internet Protocol的缩写,意思是"网络之间互连的协议",也就是为计算机网络相互连接进行通信而设计的协议.在因特网中,它是能使连接到网上的所有计算 ...

  6. 网络基础 TCP/IP

    为了理解 HTTP,我们有必要事先了解一下 TCP/IP 协议族.通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的.而 HTTP 属于它内部的一个子集.接下来,我们仅介绍理解 HT ...

  7. 加深理解HTTP请求---网络基础TCP/IP

    为了了解HTTP,必须的了解TCP/IP协议族. 通常使用的网络实在TCP/IP协议族的基础上运作的.而HTTP就属于他的一个子集. 1.TCP/IP 协议族 计算机与网络设备要相互通信,双方就必须基 ...

  8. 网络基础之IP地址与子网划分

    IP地址 Ipv4地址格式:点分十进制 IP地址的分类 A类 B类 C类: D类:组播 E类: 公共IP地址 私有IP地址 特殊地址 保留地址 子网掩码 什么是子网掩码 CIDR表示法 子网划分 为啥 ...

  9. 网络基础tcp/ip协议四

    网络层的功能: 定义了基于ip协议的逻辑地址. 链接不同的媒介类型. 选择数据通过网络的最佳路劲. 数据包格式: 优先级与服务类型(8)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据 ...

随机推荐

  1. VIM不正常退出产生的swp文件

    VIM不正常退出产生的swp文件 当你非正常关闭vim编辑器时(比如直接关闭终端或者电脑断电),会生成一个.swp文件,这个文件是一个临时交换文件,用来备份缓冲区中的内容. 第一次产生的交换文件名为“ ...

  2. JS十大经典排序排序算法

    1.冒泡排序 冒泡排序通常排在第一位,说明它是排序算法的入门算法,是最简单的一个排序算法,而且必须掌握和理解. 先来看看代码吧: function bubbleSort(arr) { let temp ...

  3. Node/Python 工具搭建cmder和nrm

    一.安装cmder cmder是windows下的一款终端工具,支持很多linux命令,用起来还是很爽的. 1.安装 http://cmder.net/ 直接在官网下载,解压即可. 2.cmder配置 ...

  4. 微信APP支付-java后台实现

    不说废话,直接上代码 先是工具类(注意签名时要排序): import java.io.BufferedReader; import java.io.ByteArrayInputStream; impo ...

  5. OpenCV-Python 姿态估计 | 五十

    目标 在本章中 我们将学习利用calib3d模块在图像中创建一些3D效果. 基础 这将是一小部分.在上一次相机校准的会话中,你发现了相机矩阵,失真系数等.给定图案图像,我们可以利用以上信息来计算其姿势 ...

  6. OpenCV-Python 轮廓:入门 | 二十一

    目标 了解轮廓是什么. 学习查找轮廓,绘制轮廓等. 你将看到以下功能:cv.findContours(),cv.drawContours() 什么是轮廓? 轮廓可以简单地解释为连接具有相同颜色或强度的 ...

  7. 【SQL SERVER】索引

    在做开发过程中经常会接触数据库索引,不只是DBA才需要知道索引知识,了解索引可以让我们写出更高质量代码. 索引概述 聚集索引 非聚集索引 唯一索引 筛选索引 非聚集索引包含列 索引概述 索引的存在主要 ...

  8. React Hooks 实现react-redux

    Redux 是目前 React 系统中最常用的数据管理工具,它落实并发扬了 Flux 的数据单向流动模式,被实践证明为一种成熟可用的模式. 尽管承受着一些非议,Redux 在 React 数据管理界的 ...

  9. Thread Future模式

    多线程不管是extends Thread 还是 implements Runnable 都是要重写run 方法来实现,这两种方式子线程都没有返回值. 如果要实现主线程对子线程的监听,让子线程有返回值, ...

  10. Android | 教你如何用代码开发一个拍照翻译小程序

    引子   想必有很多小伙伴喜欢外出旅游,能去海外玩一圈那是更好不过了,旅游前大家一定会对吃.穿.住.行.游玩路线做各种攻略,然后满怀期待的出发- 想象中的旅游   出发前,想象中的旅游目的地可能有漂亮 ...