-
网络编程面试路线最全整理(附面试题精选及答案)
网络编程面试路线最全整理,附网络编程高频必考面试题及答案。 搞定网络编程面试,看这一篇就够了,不用四处找资料,节约大量时间。 1 网络编程面试题及答案 HTTP 你怎么理解HTTP协议 HTTP GET和POST的区别 HTTP 301和302的区别 HTTP 1.0、1.1、2.0有什么区别 HTTP协议如何做才能有状态 HTTP和HTTPS的区别 HTTP常见的请求头有哪些 HTTP请求…... -
网络编程学习进阶路线(附大厂面试题合集)
对 Java 程序员来说,在工作和面试中,网络编程都非常重要。 可以说,网络编程是 Java 程序员必备的基础能力。 为什么说网络编程非常重要呢? 原因一:我们现在用的很多技术,都是围绕网络服务发展起来的。例如,微服务、云、物联网等; 原因二:面试必问,都是定律了。技术招聘岗位要求中,大多都会提1-2点网络相关知识的要求。 我最新总结的这份网络编程学习进阶路线及资料,包含了网络编程涉及的所有核心知…... -
什么是正向代理
参考答案 正向代理的过程,隐藏了真实的客户端。客户端请求的服务都被代理服务器代替来请求。 正向代理,就是一个位于客户端和原始服务器之前的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并且指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端,客户端才能使用正向代理。 例如: 我们要去访问某个网站,如果直接访问不行,就可以找一个代理服务器为我们服务,通过代理服务器…... -
什么是反向代理
参考答案 反向代理: 指以代理服务器来接收internet网上的连接请求,然后将请求转发给内部网络上的服务器,并从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个节点服务器。 反向代理隐藏真实服务端,反向代理服务器位于用户与目标服务器之间。 对于用户来说,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不…... -
正向代理和反向代理的区别
参考答案 1. 什么是正向代理 前往查看:什么是正向代理 2. 什么是反向代理 前往查看:什么是反向代理 3. 正向代理和反向代理的区别 3.1 正向代理 正向代理代理的对象是客户端; proxy和client同属一个LAN,对server透明。 3.2 反向代理 反向代理代理的对象是服务端; proxy和server同属一个LAN,对client透明。 实际上,proxy在两种代理中…... -
URI和URL的区别
参考答案 URI和URL的区别如下: URI 在于I(Identifier)是统一资源标示符,可以唯一标识一个资源。 URL在于Locater,一般来说(URL)统一资源定位符,可以提供找到该资源的路径。 补充答案: URL是URI的一种。如果说URL不是URI,这是错的,但也不是所有的URI都是URL。例如,鸟会飞,但会飞的不都是鸟,还有蚊子、苍蝇、蜻蜓.....。再例如,urn:isbn:0-…... -
HTTP协议如何做才能有状态
参考答案 1. 为什么HTTP协议是无状态的 前往查看:HTTP协议为什么是无状态的 2. 如何让HTTP协议有状态 HTTP协议是无状态的,不会记录用户信息,那么,服务器怎么判断发来HTTP请求的是哪个用户呢? 于是,两种用于保持HTTP状态的技术就应运而生了,一个是 Cookie,而另一个则是 Session。 3. Cookie 3.1 什么是Cookie Cookie 是客户端的存储空间…... -
为什么HTTP协议是无状态的
参考答案 1. HTTP协议是无状态的 HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态,协议对于事务处理没有记忆功能。 也就是说,上一次的请求对这次的请求没有任何影响,服务端也不会对客户端上一次的请求进行任何记录处理。 2. 为什么HTTP协议是无状态的 因为它的每个请求都是完全独立的,每个请求包含了处理这个请求所需的完整的数据,发送请求不涉及到状态变更。 即使在HTTP/1.…... -
HTTP 1.0、1.1、2.0有什么区别
参考答案 HTTP 1.0、1.1、2.0的区别: 1. http 1.0 短连接:每一个请求建立一个TCP连接,请求完成后立马断开连接。这将会导致2个问题:连接无法复用,head of line blocking连接无法复用会导致每次请求都经历三次握手和慢启动。三次握手在高延迟的场景下影响较明显,慢启动则对文件类大请求影响较大。head of line blocking会导致带宽无法被充分利用…... -
HTTP 301和302的区别
参考答案 1. 官方说明 301 redirect: 301 代表永久性转移(Permanently Moved) 302 redirect: 302 代表暂时性转移(Temporarily Moved) 2. HTTP301和302的区别 2.1 相同点 301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后,会自动跳转到一个新的URL地址,这个地址可以从响应的Loc…... -
HTTP常见的响应状态码有哪些
参考答案 http响应状态码大全 1. http状态返回代码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。 2. http状态返回代码 2xx (成功) 表示成功处理了请求的状态代码。 200 …... -
HTTP常见的响应头有哪些
参考答案 HTTP常见的响应头: Allow:服务器支持哪些请求方法(如GET、POST等); Content-Encoding:文档的编码(Encode)方法; Content-Length:表示内容长度; Content-Type: 表示后面的文档属于什么MIME类型; Date:当前的GMT时间; Expires:指明应该在什么时候认为文档已经过期,从而不再缓存它; Last-Modifie…... -
HTTP响应报文包含哪几部分
参考答案 响应报文包含如下几个部分: 状态行=http version + status code + reason phrase (HTTP/1.1 200 ok); 响应头(k-v格式):服务器类型+日期+长度+内容类型+内容长度等等; 相应正文:服务器返回的html页面或者json数据。 响应头的实例: Server:Apache Tomcat/5.0.12 Date:Mon,6Oct200…... -
HTTP请求报文包含哪几部分
参考答案 请求报文包含以下几个部分: 请求行(方法+URL+协议版本); 请求头(浏览器类型+请求内容类型+请求内容长度+请求主机名); 空行; 请求数据(GET没有 POST有 用户名+密码之类的) 典型的请求头部包含的键值对有以下几个(补充说明): User-Agent:产生请求的浏览器类型。 Accept:客户端可识别的内容类型列表。 Host:请求的主机名,允许多个域名处一个IP地址,即虚…... -
HTTP GET和POST的区别
参考答案 HTTP GET和POST的区别: 详解: 1. 一般来说,GET是获取数据,POST是提交数据的。但是因为GET和POST都是HTTP的方法,HTTP又是基于TCP/IP的关于数据在万维网中如何让通讯的协议,所以从本质上来说两者没有区别,GET和POST请求都是TCP链接,他们能做的事情是一样的。HTTP协议的这两个方法,是为了在特定的情况下区分应用,GET获取数据,POST提交数据…... -
HTTP常见的请求头有哪些
参考答案 常见的请求字段,详见下表: Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5 Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding…... -
HTTP和HTTPS的区别
参考答案 HTTP和HTTPS的区别,总结如下: https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、…... -
HTTP的请求方法有哪些
参考答案 HTTP的请求方法如下: 1. OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性。 2. HEAD 向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。 这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。 3. GET 向特定的资源发出请求。 注意:GET方法不应当被用…... -
HTTP常见的Content-Type有哪些
参考答案 HTTP中几种常见的Content-Type: 1. application/x-www-form-urlencoded 最常见的 POST 提交数据的方式,原生Form表单,如果不设置 enctype 属性,默认为application/x-www-form-urlencoded 方式提交数据。 首先,Content-Type被指定为 application/x-www-form-…... -
TCP协议为什么是三次握手、四次挥手
参考答案 TCP协议在传输数据的时候,客户端(Client)跟服务端(Server)会建立连接,然后把需要传输的文件进行分段,以及提供可靠传输和流量控制,在数据传输完成后,当前的会话也要断开连接,避免资源浪费。 TCP的三次握手,是建立连接的过程。四次挥手,是断开连接的过程。 一、TCP三次握手 先看图示,然后再来了解下,每一次握手都发生了什么。 图示中的字段含义: SYN:同步序列号,是用来建立…... -
TCP协议有哪几种标志符
参考答案 IP地址是表示网络设备的唯一标示符,tcp/ip中根据IP地址找到对应的设备。 以上,是Java面试题【 TCP协议有哪几种标志符】的参考答案。 输出,是最好的学习方法。 欢迎在评论区留下你的问题、笔记或知识点补充~ ---end---... -
Socket和WebSocket的区别
参考答案 Socket和WebSocket的区别 Socket是传输控制层协议; WebSocket是应用层协议。 WebSocket与Socket的关系 Socket其实并不是一个协议,而是为了方便使用TCP或UDP而抽象出来的一层,是位于应用层和传输控制层之间的一组接口; Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模…... -
TCP和UDP协议的区别
参考答案 一、TCP和UDP协议的区别 基于连接与无连接; 对系统资源的要求(TCP较多,UDP少); UDP程序结构较简单; 流模式与数据报模式 ; TCP保证数据正确性,UDP可能丢包; TCP保证数据顺序,UDP不保证。 TCP和UDP各有优缺点,最主要的区别就是可靠与不可靠,以及是否面向连接。 两者共同构成了传输层端对端数据传输的基础。 二、详细解析 1. TCP(Transmission…... -
TCP、UDP、 HTTP、Socket的区别
参考答案 一. TCP/IP代表传输控制协议/网际协议,指的是一系列协组。 1. TCP/IP 模型从下到上可分为四层:网络接口层、网络层、传输层、应用层。 网络接口层。 网络层:有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 传输层:有TCP协议、UDP协议。 应用层:有FTP、HTTP、TELNET、SMTP、DNS等协议。 2. TCP和UDP使用IP协议从一个网…...