GET和POST的区别?

GET和POST方法没有实质上区别,只是报文格式不同。GET和POST是HTTP协议中的两种请求方法。而 HTTP 协议是基于 TCP/IP 的应用层协议,无论 GET 还是 POST,用的都是同一个传输层协议,所以在传输上,没有区别。

(1)GET请求的参数是放在URL里的,POST请求参数是放在请求body里的。因此:

POST方法比GET方法安全,因为数据在地址栏不可见。

GET方法有长度限制,POST方法没有。HTTP协议没有Body和URL的长度限制,对URL限制大多数浏览器和服务器的原因。(大多数浏览器限制url长度在2k个字节,服务器最多处理64k字节的url)

GET请求的参数只能是ASCII码,所以中文需要URL编码,POST支持多种编码方法。

(2)GET方法是幂等方法,对资源做查询多次,此实现的结果都是一样的。POST是非幂等方法,因为一次请求添加一份新资源,二次请求则添加了两份新资源,多次请求会产生不同的结果,因此POST不是幂等操作。

PUT和POST方法的区别?

幂等性不同。PUT请求是幂等性方法,将A修改为B,它第一次请求值变为了B,再进行多次此操作,最终的结果还是B,与一次执行的结果是一样的,所以PUT是幂等操作。

HTTP1.1和HTTP1.0区别?

HTTP 1.0默认支持短连接。浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。

这也造成了一些性能上的缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明了这些图像的URL地址,当WEB浏览器访问这个网页文件时,浏览器首先要发出针对该网页文件的请求,当浏览器解析WEB服务器返回的该网页文档中的HTML内容时,发现其中的img图像标签后,浏览器将根据img标签中的src属性所指定的URL地址再次向服务器发出下载图像数据的请求。

**HTTP 1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。**一个包含有许多图像的网页文件的多个请求和应答可以在一个连接中传输,但每个单独的网页文件的请求和应答仍然需要使用各自的连接。

HTTP 1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样也显著地减少了整个下载过程所需要的时间。

TCP拥塞控制方法?

慢开始、拥塞避免、快重传、快恢复。

TCP和UDP区别?

(1)TCP面向连接,UDP面向无连接。

(2)TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。UDP不保证可靠交付。

(3)TCP对系统资源要求较多,UDP对系统资源要求较少。

(4)每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。

(5)UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

(6)TCP首部开销较大,20个字节;UDP首部开销较小,8个字节。

TCP和UDP编程步骤

TCP:

TCP编程的服务器端一般步骤是:

1、创建一个socket,用函数socket();

2、设置socket属性,用函数setsockopt(); * 可选

3、绑定IP地址、端口等信息到socket上,用函数bind();

4、开启监听,用函数listen();

5、接收客户端上来的连接,用函数accept();

6、收发数据,用函数send()和recv(),或者read()和write();

7、关闭网络连接;

8、关闭监听;

TCP编程的客户端一般步骤是:

1、创建一个socket,用函数socket();

2、设置socket属性,用函数setsockopt();* 可选

3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选

4、设置要连接的对方的IP地址和端口等属性;

5、连接服务器,用函数connect();

6、收发数据,用函数send()和recv(),或者read()和write();

7、关闭网络连接;

UDP:

与之对应的UDP编程步骤要简单许多,分别如下:

UDP编程的服务器端一般步骤是:

1、创建一个socket,用函数socket();

2、设置socket属性,用函数setsockopt();* 可选

3、绑定IP地址、端口等信息到socket上,用函数bind();

4、循环接收数据,用函数recvfrom();

5、关闭网络连接;

UDP编程的客户端一般步骤是:

1、创建一个socket,用函数socket();

2、设置socket属性,用函数setsockopt();* 可选

3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选

4、设置对方的IP地址和端口等属性;

5、发送数据,用函数sendto();

6、关闭网络连接;

UDP应用场景

(1)面向数据包方式。

(2)数据多为短消息。

(3)拥有大量Client。

(4)对安全性无特殊要求。

(5)网络负担重,对响应速度要求高。

UDP实现可靠传输

UDP是面向无连接的协议,拥有资源消耗少,处理数据快的优点。所以音频、视频和普通数据在传送时,使用UDP较多。

传输层无法保证数据的可靠传输,可以在应用层模仿TCP的可靠性传输。

(1)添加seq/ack机制。

(2)添加发送和接受缓冲区,主要为用户超时重传。

(3)添加超时重传机制。

实现了udp可靠传输的开源程序:

(1)RUDP

RUDP 提供一组数据服务质量增强机制,如拥塞控制的改进、重发机制及淡化服务器算法等,从而在包丢失和网络拥塞的情况下, RTP 客户机(实时位置)面前呈现的就是一个高质量的 RTP 流。在不干扰协议的实时特性的同时,可靠 UDP 的拥塞控制机制允许 TCP 方式下的流控制行为。

(2)RTP

RTP为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。

应用程序通常在 UDP 上运行 RTP 以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。但是 RTP 可以与其它适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么 RTP 可以使用该组播表传输数据到多个目的地。

RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于底层服务去实现这一过程。 RTP 并不保证传送或防止无序传送,也不确定底层网络的可靠性。 RTP 实行有序传送, RTP 中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。

(3)UDT

基于UDP的数据传输协议(UDP-basedData Transfer Protocol,简称UDT)是一种互联网数据传输协议。UDT的主要目的是支持高速广域网上的海量数据传输,而互联网上的标准数据传输协议TCP在高带宽长距离网络上性能很差。

顾名思义,UDT建于UDP之上,并引入新的拥塞控制和数据可靠性控制机制。UDT是面向连接的双向的应用层协议。它同时支持可靠的数据流传输和部分可靠的数据报传输。由于UDT完全在UDP上实现,它也可以应用在除了高速数据传输之外的其它应用领域,例如点到点技术(P2P),防火墙穿透,多媒体数据传输等等。

负载均衡

将服务器部署多台,然后通过负载均衡将用户的请求发送到不同的服务器来提高服务的性能以及可靠性。

负载均衡算法:

(1)随机算法

按权重设置随机概率。在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。

(2)轮询以及加权轮询

轮询(Round Robbin)当服务器群中各服务器的处理能力相同时,且每笔业务处理量差异不大时,最适合使用这种算法。 轮循,按公约后的权重设置轮循比率。存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。

加权轮询(Weighted Round Robbin)为轮询中的每台服务器附加一定权重的算法。比如服务器1权重1,服务器2权重2,服务器3权重3,则顺序为1-2-2-3-3-3-1-2-2-3-3-3- …

(3)最小连接以及加权最小连接

最少连接(Least Connections)在多个服务器中,与处理连接数(会话数)最少的服务器进行通信的算法。即使在每台服务器处理能力各不相同,每笔业务处理量也不相同的情况下,也能够在一定程度上降低服务器的负载。

加权最少连接(Weighted Least Connection)为最少连接算法中的每台服务器附加权重的算法,该算法事先为每台服务器分配处理连接的数量,并将客户端请求转至连接数最少的服务器上。

(4)哈希算法

普通哈希

一致性哈希一致性Hash,相同参数的请求总是发到同一提供者。当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。

(5)IP地址散列

通过管理发送方IP和目的地IP地址的散列,将来自同一发送方的分组(或发送至同一目的地的分组)统一转发到相同服务器的算法。当客户端有一系列业务需要处理而必须和一个服务器反复通信时,该算法能够以流(会话)为单位,保证来自相同客户端的通信能够一直在同一服务器中进行处理。

(6)URL散列

通过管理客户端请求URL信息的散列,将发送至相同URL的请求转发至同一服务器的算法。

OSI七层模型的每一层都有哪些协议

物理层:EIA/TIA-232, EIA/TIA-499, V.35, V.24, RJ45, Ethernet, 802.3, 802.5, FDDI, NRZI, NRZ, B8ZS

数据链路层:Frame Relay, HDLC, PPP, IEEE 802.3/802.2, FDDI, ATM, IEEE 802.5/802.2

网络层:IP,IPX,AppleTalk DDP

传输层:TCP,UDP,SPX

会话层:RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECnet,SCP

表示层:TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML

应用层:FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP

TCP/IP用到了那些协议,在哪一层

数据链路层:ARP,RARP

网络层: IP,ICMP,IGMP

传输层:TCP ,UDP,UGP

应用层:Telnet,FTP,SMTP,SNMP.

计算机网络英文面试题,计算机网络面试题整理相关推荐

  1. 计算机网络英文介绍,《计算机网络英文版》.doc

    第一章 计算机网络概述 Identify the five components of a data communications system. (数据通信系统5个组成部分:报文 发送方 接受方 传 ...

  2. 计算机网络面试题-(较详细整理版)

    计算机网络 计算机网络体系结构 计算机网络的体系结构 应用层 应用层是为了特定的应用程序提供数据传输服务. 关键词:特定,应用程序.例如为万维网需要遵循HTTP协议,文件传输需要遵循FTP协议,域名解 ...

  3. 【100道面试题真题讲解】C++面试题讲解+JAVA面试题讲解+Linux面试题讲解+数据结构面试题+计算机网络面试题 讲解视频-持续更新中

    最近找到了一个非常好的公众号:IT笔试面试真题讲解,每天视频分享一道IT公司面试高频题目,完全免费哦,非常适合找工作的学生复习+总结+提炼. 白嫖不敢独吞,分享给大家,也给作者增加一点访问量,鼓励作者 ...

  4. alin的学习之路:面试题 计算机网络相关

    alin的学习之路:面试题 计算机网络相关 介绍下proactor和reactor reactor:同步IO proactor:异步IO Reactor框架中用户定义的操作是在实际操作之前调用的.比如 ...

  5. 计算机网络与多媒体试卷,西安交通大学17年9月课程考试《计算机网络与多媒体技术》作业考核试题...

    谋学网http://doc.xuehai.net 西安交通大学17年9月课程考试<计算机网络与多媒体技术>作业考核试题 试卷总分:100 得分:0 一.单选题 (共 10 道试题,共 20 ...

  6. python软件工程师面试题目及答案_Python面试题及答案汇总整理(2019版)

    发现网上很多Python面试题都没有答案,所以博主花了很长时间搜集整理了这套Python面试题及答案,由于网上的Python相关面试题大多数都是2019年的,所以我这个也是2019版的,哈哈~ 1.一 ...

  7. 作业帮 php面试题,英文题目的PHP面试题及答案

    英文题目的PHP面试题及答案 PHP工程师是计算机专业学生求职的一个方向,以下是百分网小编精心为大家整理的PHP面试题 ,希望对大家顺利通过面试有所帮助!更多内容请关注应届毕业生网! 1. Which ...

  8. 常见Jvm面试题总结及答案整理 120道(持续更新)

    最新Jvm面试题总结及答案[附答案解析]Jvm面试题及答案2021,Jvm面试题最新面试题,Jvm面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集整理的.这些答案难免会存在一 ...

  9. php mysql技术笔试题_PHP面试笔试题--选择题部分(最新整理)

    <PHP面试笔试题--选择题部分(最新整理)>由会员分享,可在线阅读,更多相关<PHP面试笔试题--选择题部分(最新整理)(7页珍藏版)>请在人人文库网上搜索. 1.1. 以下 ...

  10. 计算机网络英语第二章,计算机网络英文题库(附答案)chapter2.doc

    计算机网络英文题库(附答案)chapter2计算机网络英文题库(附答案)chapter2 Chapter 2 Application Layer 1. In the following four de ...

最新文章

  1. 【组队学习】【32期】Linux实践
  2. 极客新闻——03、陈庆敏:项目管理的三个关键
  3. Quartz cron表达式
  4. javascript中select的常用操作
  5. 盘点大数据生态圈,那些繁花似锦的开源项目
  6. linux 查看可执行文件动态链接库相关信息(转)
  7. OCJP认证考试复习课-张晨光-专题视频课程
  8. opengl 安装_一步步学OpenGL(34) -《GLFX,一个OpenGL效果库》
  9. linux中进程pts 1和pts 3,termial创建时ptmx与pts的关系
  10. 【OpenGL】游戏编程常用TGA图像格式详解以及加载纹理编程实现
  11. android系统(63)---Jobscheduler运行机制详解
  12. Eclipse:构造函数不提示才发现
  13. 这么多年被第三方接入坑的那些事。。。关于md5签名和sha1证书的坑
  14. Sea Battle<海战>(思路题)
  15. Vue指令之v-on
  16. NSA的各种***工具
  17. VS2017_Reshaper
  18. STM32的ADC多通道采集的实现
  19. 服务器raid5阵列硬盘故障的解决办法
  20. 不同坐标系下角速度_轨道、重力场与坐标系的混乱关系

热门文章

  1. django的contenttype表
  2. 调查|73%的公司正使用存在漏洞的超期服役设备
  3. jQ效果:简单的手风琴效果
  4. AngularJS 自定义控件
  5. 《机器人学经典教程》——2.2 控制论
  6. arm处理器的历史及现状
  7. 从零开始学C++之模板(三):缺省模板参数(借助标准模板容器实现Stack模板)、成员模板、关键字typename...
  8. 听小鹏讲废话之OSI
  9. Tensorflow框架:卷积神经网络实战--Cifar训练集
  10. leetcode 1734. 解码异或后的排列(位运算)