面试_Http常见问题

news2024/12/23 18:19:31
  1. http协议的默认端口
    80

  2. 应用层有哪些协议
    http ,FTP,SMTP,DNS,MQ

  3. 在浏览器中输入网址后会发生什么:
    首先服务器有自己的ip地址,但ip地址对人来说很难记,所以人会在浏览器里输入域名,然后经过DNS解析为ip,访问对应的服务器
    与服务器发起三次握手
    建立链接TCP链接,发起HTTP请求
    服务器响应HTTP请求,返回响应报文
    浏览器渲染展示页面
    断开TCP链接,四次挥手

  4. 为什么要三次握手:
    在这里插入图片描述一般来说两次握手其实可以建立好链接,但第二次握手是发送方收到接收方传来的ACK。在实际情况中这条信息发送方有可能没有收到,所以就需要第三次握手,发送方通知接收方我收到ACK了,连接正式建立。
    为什么不是四次握手,因为三次是保证连接建立的最少次数,通信的质量不是靠握手的次数来保证的,所以更多的握手次数没有必要。

  5. 为什么要四次挥手:
    在这里插入图片描述首先,发送方发出Find的报文,接收方需要连续发出两次报文,这是因为在发送第一个ack报文的时候,接收方手头可能有正在传输的其他报文,所以会在手头的报文传输完毕之后回复一个fin报文表示可以结束通信。发送方这时候会回复ack表示收到接收方的fin报文,通信正式结束。
    为什么接受方不可以等手头的报文发完只回一个ack/fin报文呢,这是因为接收方可能迟迟等不到回复以为报文丢失,他可能会重复发起挥手。

  6. 状态码:
    200:成功 204:成功但no content
    300: 需要重定向
    400:客户端请求错误

    	401:invalid token 未正确授权
    	402:支付类的错误代码,比如要付费后才能继续访问后续接口
    	403:forbidden无权限访问该网站
    	404:请求资源不存在
    

    500:服务器错误

    	501:未实现,服务器不具备完成请求的功能
    	502:bad gateway链接超时。服务器当前链接太多,无法给予正常响应
    	503: 临时的服务器维护或者过载
    	504:gateway timeout,服务器作为代理或者网关,没有及时从上游服务器接收到请求	
    
  7. TCP/IP有哪四层:
    应用层:应用层决定了向用户提供应用服务时通信的活动。
    传输层:提供处于网络连接中的两台计算机之间的数据传输。(TCP/UDP)
    网络层:网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方(IP)
    数据链路层:用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、

  8. cookie和session的区别:
    1.cookie存放在客户端,session存放在服务器
    2.cookie不是太安全,别人可以欺骗获取到存放在客户端的cookie
    3.session由于存放在服务器,如果访问过多的话会有性能方面的问题
    4.cookie的存续时间比较长,session的存在时间比较短

  9. 代理可以分为两类:
    一种使用缓存,一种会修改报文

  10. HTTP和HTTPS的区别:
    1.HTTP不加密,不验证对方身份,可能遭遇伪装拦截,不验证报文的完整性,总体而言安全性较差。而HTTPS会使用SSL加密
    2.HTTP速度更快,HTTP三次握手只需要交换三个包,而HTTPS需要交换包含SSL在内的12个包
    3.使用端口不通,HTTP使用的80端口,HTTPS是443
    4.HTTPS就是HTTP+SSL,因此HTTPS会更耗费资源 (SSL是独立于HTTPS的网络安全技术)

  11. GET 和POST的区别
    1.GET将请求参数放在URL里,POST放在REQUEST BODY里
    2.对于GET,浏览器会主动给cache,POST不会
    3.GET比POST更加不安全,因为他的参数直接暴露在URL里
    4.GET的在URL请求传参是由长度限制的,POST没有
    5.GET只接受ACSLL码值,PSOT没有限制
    6.两者的TCP传送方式不同,GET会把header和body一起发出去,然后得到200OK,而POST会先发header,得到100 CONTINUE然后再接着发body的内容

  12. TCP与IP分别位于那一层
    TCP与UDP位于传输层
    IP位于网络层

  13. TCP与UDP的区别
    1.TCP是面向链接的,需要先三次握手,UDP不需要先建立链接,直接传送数据
    2.TCP传送的数据稳定可靠不丢失不重复,UDP则保证不了这些
    3.TCP是1对1的,UDP可能1V1,也可能一对多
    4.TCP是面向字节流,UDP则是面向报文,所以UDP在网络拥挤时不会降低发送效率但可能出现丢包,常见应用于视频电话

  14. HTTP1.0和HTTP2.0的区别
    参考:https://blog.csdn.net/yinlidong77/article/details/103908035

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/183351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内网云盘如何内网穿透实现公网访问

云盘是一种专业的互联网存储工具,是互联网的云技术产物,它通过互联网为企业和个人提供信息的存储、读取、下载等服务,具有安全稳定、海量存储的特点。随着企业信息化发展,云盘系统需求不断扩大,相关系统软件被广泛应用…

自己动手写一个操作系统——loader(1)

前言 上篇文章中,我们写了一个简单的 loader 作为被加载的演示对象。我们知道 loader 是用来加载 kernel 的,今天我们就编写 loader 代码完成这件事情。 实模式下的内存地址 我们计划把 kernel 加载到内存的 0x10000 地址处。 不过面临一个挑战&…

pug模板在Express框架中的集成

在未讲相关的模板引擎之前前面的篇目中所使用的网页页面大多是静态资源的网页内容,如在之前的案例中就使用过 app.use(express.static(path.join(__dirname,public))) ,通过在本地上进行搭建服务器之后使用express.static()方法讲public下静态…

uni-app从入门到上天视频教程 23讲 我终于卷完了

大家好,我是锋哥!祝大家新年快乐! 过年走亲访友,休息了几天,今天把uni-app课程卷完了,23讲,免费基础课程。 uni-app技术介绍 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,…

(免费分享)springboot音乐网站系统

开发工具:eclipse,数据库mysql5.7 jdk1.8技术:springbootmybatis/** * * * */package com.bjpowernode.music.ss.service.impl;import java.util.List;import javax.annotation.Resource;import com.bjpowernode.music.common.AbstractServ…

即时通讯开发之TCP/IP基本概念

在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱 了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不…

【数据结构】详解顺序表

目录 1.线性表和顺序表 1.线性表 2.顺序表 2.接口的实现 1. 接口1---初始化顺序表 2. 接口2,3---头插,尾插 3. 接口4,5---头删,尾删 4. 接口6,7---插入,删除 5. 接口8---查找 6. 接口9---修改 7.…

什么是HTTPS?为什么要为您的网站购买一个?

HTTPS或安全超文本传输协议是HTTP的安全版本,是一种用于在Web浏览器和网站之间通过Web传输数据的协议。HTTPS通过使用一种称为传输层安全性(TLS)的加密协议对服务器和浏览器之间传递的所有数据进行加密,以提高安全性,该协议前面是SSL&#xf…

【Pytorch项目实战】之人脸检测与识别:基于face_recognition开源人脸识别库

文章目录人脸检测与识别(一)实战:人脸检测(图片)(二)实战:人脸检测与识别(视频)人脸检测与识别 face_recognition 是开源人脸识别库。Face Recognition官网。…

启科 QuTrunk+Runtime+QuSaaS+亚马逊云科技量子计算编程实战

QuTrunk 是启科量子自主研发的一款免费、开源、跨平台的量子计算编程框架,包括量子编程 API、量子命令转译、量子计算后端接口等。它提供多种量子计算体验,提供本地量子计算 Python 计算后端,提供 OMP 多线程、MPI 多节点并行、GPU 加速等计算…

操作系统权限提升(一)之操作系统权限介绍

前言 操作系统权限提升简称提权,顾名思义就是提升自己在目标系统中的权限。现在的操作系统都是多用户操作系统,用户之间都有权限控制,比如通过Web漏洞拿到的是web进程的权限,往往Web服务都是以一个权限很低的账号启动的,因此通过 Webshell进行一些操作会受到限制,这就需要将其…

Leetcode力扣秋招刷题路-0094

从0开始的秋招刷题路,记录下所刷每道题的题解,帮助自己回顾总结 94. 二叉树的中序遍历(Easy) 给定一个二叉树的根节点 root ,返回它的 **中序 **遍历。 示例 1: 输入:root [1,null,2,3] 输出…

无线网络概论_4

成帧细节 数据帧:好比802.11中的驮马,负责在工作站直接板运输数据。控制帧:通常能够与数据帧搭配使用,负责区域的清空,信道的取得以及载波监听的维护并于收到数据时给予肯定确认,借此来增加数据传输的可靠…

垃圾收集器必问系列—CMS

本文已收录至Github,推荐阅读 👉 Java随想录 应该相信,自己是生活的战胜者。——雨果 文章目录CMS简介运作过程CMS的缺陷处理器资源敏感无法处理“浮动垃圾”内存碎片纵观全书《深入理解JVM虚拟机》第三版,在垃圾回收器这一篇章&a…

CMakelists.txt简单介绍

先祝大家开工大吉,这篇策划一下CMakelists.txt,它依托在Cmake里,在大型工程、平台兼容方面非常好用的C项目编译工具,再此先对它做一个简短的介绍。 目录 一、CMakelists.txt简介 二、使用示例 三、总结 一、CMakelists.txt简介…

Eclipse swt环境搭建

通过Eclipse Marketplace安装打开eclipse,点击help,在弹出的框中,选择Eclipse Marketplace。如下所示。。。搜索windows 安装插件一、创建一个SWT项目点击左上角的File - > New -> Other...进入后搜索SWT ,选中在WindowBuilder下的SWT …

CnOpenData中国彩票销售数据

一、数据简介 彩票是一种编有号码的证券,按票面价格出售。开奖后,持有中奖号码奖券的,可按规定领奖。它是一种建立在机会均等基础上的、具有公平竞争特征的娱乐游戏。国家发行彩票的目的是筹集社会公众资金,资助福利、体育等社会公…

springboot中整合mybatis及简单使用

springboot中整合mybatis及简单使用1.引入依赖2.在applicaiton.yaml中配置数据源以及mybatis3.创建sql测试表4.编写mapper接口和mapper.xml文件4.1 mapper接口4.2 mapper.xml4.3 mybatisX快速开发插件5.创建service层和controller层5.1 创建service层5.2 创建controller层6.项目…

[网鼎杯 2018]Fakebook

目录 信息收集 代码审计 思路 解法一(非预期解) 解法二(预期解) 信息收集 目录扫描代码泄露扫描 robots.txt;flag.php;login.php;user.php;view.php;join.php; 直接打开flag.php后没有回显,应该需要通过ssrf来访…

Qt音视频开发12-easyplayer内核

一、前言 在视频监控行业经常看到两个厂家广告打得比较厉害,一个是青犀视频对应easyplayer,一个是大牛直播,两个最初都是sdk免费,并提供调用示例源码,后面大牛直播的sdk以及示例都无法运行,目前就剩下免费…