计算机网络面试常问基础总结

  • TCP/IP
  • HTTP
  • 浏览器打开一个网页的过程
    • 从(浏览器缓存、操作系统缓存、硬盘host文件)查找DNS;
    • 解析DNS,获得目标IP;
    • 根据IP,建立TCP连接(三次握手);
    • 浏览器向服务器发起HTTP请求;
    • 服务器处理HTTP请求(响应);
    • (如果没有后续请求)断开TCP连接(四次挥手)。

TCP/IP

1. TCP与UDP的区别

  1. TCP需要建立连接;
    UDP不需要。
  2. TCP开销大,速度慢,传输可靠;
    UDP开销小,速度快,传输不可靠。
  3. TPC面向数据流;
    UDP面向数据报。

2. TCP连接的建立与断开

建立连接:三次握手;
断开连接:四次挥手。

3. 三次握手的过程(通俗版)

  1. 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段,主机A告诉主机B 两件事:
    我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。
  2. 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:
    我已经收到你的请求了,你可以传输数据了;你要用哪个序列号作为起始数据段来回应我。
  3. 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:
    我已收到回复,我现在要开始传输实际数据了。

这样3次握手就完成了,主机A和主机B 就可以传输数据了.

4. 为什么要三次握手?为什么不是两次?

为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。

5. 四次挥手的过程

  1. 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求;
    数据发完毕,但还可接收数据,请求断开连接
  2. 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1;
    请求收到,同意断开,不再接收你的数据,但还可以继续给你发数据
  3. 由B端再提出反方向的关闭请求,将FIN置1;
    我也没有数据要发给你啦
  4. 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束。
    我也不再接收数据,连接断开

6. 为什么要四次挥手?

因为没有数据要发送了,不代表没有数据要接收了。可能还有没有接收完成的数据。


HTTP

1. HTTP的特点是什么?

无状态、无连接。
构建与TCP/IP之上。

(客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。)

2. HTTP有哪些类型?

请求、响应。

3. HTTP请求

HTTP请求常用方法

GET,POST,PUT, DELETE。
(查询,修改,增添,删除)

HTTP请求组成?

状态行、请求头、请求正文

GET报文:

GET报文实例
  • 状态行:GET /books... HTTP/1.1
    • 请求方式:GET
    • 路径:/books...
    • 协议:HTTP/1.1
  • 请求头:
    • 主机名:Host
    • 代理信息:User-Agent
    • 连接状态:Connection
  • 请求正文:
    • 空(GET请求的正文一般为空,因为它的参数放在URL中)

POST请求

POST请求实例
  • 状态行:POST HTTP/1.1
    • 请求方式:POST
    • 协议:HTTP/1.1
  • 请求头:
    • 主机名:Host
    • 代理信息:User-Agent
    • 内容类型:Content-Type
    • 内容长度:Content-Length
    • 连接状态:Connection
  • 请求正文:sex=man&name=Professional

GET与POST的区别

  1. 参数位置不同
    GET参数在URL中;
    POST参数在正文中。
  2. 受URL长度限制,GET参数数量有限;
  3. GET不安全;
    POST安全。
  4. GET可以被缓存,可以被收藏为书签;
    POST可以被缓存,不可以被收藏为书签。

4. HTTP响应

HTTP响应的组成?

状态行、响应头、响应正文

HTTP响应实例

XXX状态码的含义?

1xx : 表示请求已经接受了,继续处理。
2xx : 表示请求已经处理掉了。
3xx : 重定向。
4xx : 一般表示客户端有错误,请求无法实现。
5xx : 一般为服务器端的错误。

(状态行中包含一个状态码,用来表示服务器对客户端响应的结果。)

常见的状态码(记得就记得,不记得就说12345分别是什么)
200 OK 客户端请求成功。
301 Moved Permanently 请求永久重定向。
302 Moved Temporarily 请求临时重定向。
304 Not Modified 文件未修改,可以直接使用缓存的文件。
400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解。
401 Unauthorized 请求未经授权,无法访问。
403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因。
404 Not Found 请求的资源不存在,比如输入了错误的URL。
500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请求。
503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。

5. 会话追踪

(HTTP 协议是”无状态”的协议,它不能保存客户的信息,即一次响应完成之后连接就断开了,下一次的请求需要重新连接,这样就需要判断是否是同一个用户,所以才有会话跟踪技术来实现这种要求。)

实现会话追踪的方法?

URL重写、隐藏表单域、Cookie、Session

URL 重写:URL 重写技术就是在 URL 结尾添加一个附加数据以标识该会话,把会话 ID 通过 URL 的信息传递过去,以便在服务器进行识别不同的用户。
隐藏表单域:将会话ID添加到HTML表单元素中提交到服务器,此表单元素并不在客户端显示。
Cookie:Cookie 是 Web 服务器发送给客户端的一小段信息,客户端请求时可以读取该信息发送给服务器端,进而进行用户的识别,对于客户端的每次请求,服务器都会将 Cookie 发送到客户端,客户端保存下来,以便下次使用。
Session:在服务器端会创建一个 session 对象,产生一个 sessionID 来标识这个 session 对象,然后将这个 sessionID 放入到 Cookie 中发送到客户端,下一次访问时,sessionID 会发送到服务器,在服务器端进行识别不同的用户。

Cookie与Session的区别?

  1. (讲一下Cookie怎样做、Session怎样做)
  2. Session的实现依赖于Cookie,如果Cookie被禁用,那么session也将失效。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 207,113评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,644评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,340评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,449评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,445评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,166评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,442评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,105评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,601评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,066评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,161评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,792评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,351评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,352评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,584评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,618评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,916评论 2 344

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,601评论 18 139
  • 1. 基础知识 1.1 3种常见的计算机体系结构划分 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话...
    Mr希灵阅读 19,852评论 6 120
  • 你有没有冥想的习惯?你有没有做完一件事突然有种感慨要抒发?你有没有说过一段话,觉得说错了,但还是照错就错? 我不算...
    秋儿的成长日记阅读 623评论 1 2
  • 老子云:“天之道,损有余而补不足。人之道,则不然,取不足以奉有余。”
    guoery阅读 650评论 0 50
  • 万道金光 撒向人间 我一点都不怀疑 这就是艺术后的夸张说法 然而我们人类发展到今天 也有60多亿人口 每人分享一道...
    牛8蒲哥阅读 285评论 0 1