【第四章:网络协议】第19节:网络协议 - 入门(下)


大家好,上一小节我们介绍了一些基础的网络协议和面试中的高频考点。本节我们继续介绍基础网络协议相关知识点,主要知识点包括HTTP和HTTPS相关协议,路由汇聚以及子网掩码的求法等。

(1)HTTP和HTTPS的区别有哪些?(掌握)

答:HTTP和HTTPS的主要区别可以总结如下:

  • HTTP是超文本传输协议,数据明文传输;HTTPS在HTTP的基础上加入了SSL协议,实现数据的加密传输;
  • HTTPS需要区申请证书,一般是收费的;
  • HTTP默认使用80端口,HTTPS默认使用443端口

解析:

这是一网络协议的基础题目,请大家务必掌握。在这里我们一起更加详细的进行学习吧。既然HTTPS = HTTP + SSL,那么我们先来看何为HTTP协议吧。

HTTP协议:

HTTP是超文本传输协议,是一种无状态的协议,是常见的一种应用层协议。HTTP是一个通信规则,规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。

HTTP请求信息:HTTP请求头中可以看到当前请求支持的语言,压缩格式,编码格式以及何种类型的返回文件,Connection以及Cookie,Content-Type等信息。

HTTP返回信息:HTTP返回信息中包括响应协议,HTTP Code以及Content-Type,时间和Cookie等信息。

(HTTP请求和返回的具体信息,大家可以任意打开一个网址,F12查看每一个具体的HTTP请求的请求和返回信息)

图片说明

面试官:“HTTP请求中的Get和Post方法有哪些区别?”

  • Get一般用来从服务器上查询获取资源;Post一般用来更新服务器上的资源;
  • Get方法将参数直接拼接在了URL后边,明文显示,可以通过浏览器地址栏直接访问;
  • Post请求用于提交表单,数据不是明文的,安全性更高;
  • Get请求有长度限制,Post请求没有

面试官:“常见的HTTP Code有哪些?”

  • 1xx(临时响应)
  • 2xx(成功)
  • 3xx(重定向):表示要完成请求需要进一步操作
  • 4xx(错误):表示请求可能出错,妨碍了服务器的处理
  • 5xx(服务器错误):表示服务器在尝试处理请求时发生内部错误

接着,我们可以给出具体的状态码。

常见HTTP协议的状态码:

  • 200(成功)
  • 302 (重定向):请求重定向到指定网页
  • 304(未修改):自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容
  • 401(未授权):请求要求身份验证
  • 403(禁止):服务器拒绝请求(比如死循环了,一直访问)
  • 404(未找到):服务器找不到请求的网页
  • 405 (方法禁用):Post请求当成了Get请求直接访问
  • 500 (服务器内部错误):有bug导致程序嗝屁了
  • 502 (错误网关):服务器从上游接到了无效响应
  • 504 ( 网关超时):nginx请求超时,请求一直没有返回

这里简单阐述304的含义,304表示上次请求结束到现在,目标网页内容未改变,客户端可以直接显示上次的内容。通过客户端和服务端之间的一个Last-Modified来判断。如下所示:

图片说明

前面我们说到了HTTP是一种无状态的协议,也就是说每一次请求都是一个独立的会话,那么会话状态(比如说用户的登录状态)该如何保持呢?

面试官:“cookie和session有了解吗?“

HTTP协议是一种无状态的协议,我们可以使用cookie和session来保持会话状态。用户发起请求,服务端收到请求处理后可以生成一个sessionId,并且将sessionId存入cookie中返回给客户端,将session的内容存储在服务器上。在下一次的请求中,客户端带着cookie来请求服务器,服务端从cookie中取出sessionId,实现了用户会话状态的保持。

这样做有一个缺点就是将一些东西存在了服务器上,在用户量较大的情况下,服务器容量会不足。实际情况中,经常是将所需要的会话状态,比如说登录态直接存入cookie并且返回给客户端,下次请求时,服务端直接取出cookie中的信息和参数信息进行比较,保持HTTP会话状态。


剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java开发岗高频面试题全解析 文章被收录于专栏

<p> Java开发岗高频面试题全解析,专刊正文共计31节,已经全部更新完毕。专刊分9个模块来对Java岗位面试中的知识点进行解析,包括通用面试技能,Java基础,Java进阶,网络协议,常见框架以及算法,设计模式等。专刊串点成面的解析每个面试题背后的技术原理,由浅入深,循序渐进,力争让大家掌握面试题目的背后的技术原理,摒弃背题模式的陋习。 专刊详细信息,请查阅专刊大纲和开篇词的介绍。 本专刊购买后即可解锁所有章节,故不可以退换哦~ </p> <p> <br /> </p>

全部评论
<span style="color:#333333;">面试吉比特的时候就问了我http请求头响应头的知识,还有https,我的理解,服务器用明文的方式给客户端发送自己的公钥,客户端收到公钥之后,会生成一把密钥(对称加密用的),然后用服务器的公钥对这把密钥进行加密,之后再把密钥传输给服务器,服务器收到之后进行解密,最后服务器就可以安全着得到这把密钥了,而客户端也有同样一把密钥,他们就可以进行对称加密了(对象加密效率高)。(这中间为了保证这个公钥是服务端的需要服务端提供CA证书和数字签名,否则会有中间人劫持的情况出现);</span><br />
7 回复 分享
发布于 2020-04-21 11:05
打卡
点赞 回复 分享
发布于 2022-02-11 22:58
汤姆来打卡咯
点赞 回复 分享
发布于 2021-05-31 09:59
打卡
点赞 回复 分享
发布于 2020-11-18 19:35
打卡,一刷
点赞 回复 分享
发布于 2020-09-26 17:25
打卡 一刷。
点赞 回复 分享
发布于 2020-09-11 15:34
二刷打卡
点赞 回复 分享
发布于 2020-08-24 11:46
05/05打卡
点赞 回复 分享
发布于 2020-05-09 10:20
打卡
点赞 回复 分享
发布于 2020-02-21 22:47
打卡
点赞 回复 分享
发布于 2020-02-14 18:19
502错误网关什么意思
点赞 回复 分享
发布于 2020-02-04 18:24
打卡
点赞 回复 分享
发布于 2020-01-08 21:47

相关推荐

真得找个班上:真是白嫖学生劳动力脸都不要了
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

更多
牛客网
牛客企业服务