美文网首页
网络题(HTTP/HTTPS协议 )

网络题(HTTP/HTTPS协议 )

作者: 小棋子js | 来源:发表于2019-12-06 16:12 被阅读0次

    二、HTTP/HTTPS协议
    1、请问http状态码以1、2、3、4、5开头的分别代表什么意思?
    1XX临时/信息响应
    2XX成功
    3XX重定向
    4XX客户端/请求错误
    5XX服务器错误 详细:
    200——交易成功
    301——删除请求数据
    302——在其他地址发现了请求数据
    400——错误请求,如语法错误
    401——请求授权失败
    403——请求不允许
    404——没有发现文件、查询或URl
    500——服务器产生内部错误
    501——服务器不支持请求的函数
    502——服务器暂时不可用,有时是为了防止发生系统过载

    2、用户输入一个网址(www.baidu.com),到用户看到对应的 网页加载完毕,此过程都发生了什么?
    1.域名解析(DNS解析)
    域名系统协议(DNS)一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。
    域名:以百度为例,baidu.com就是一个域名,大多数情况下,我们输入网址都是输入它的域名,相比输入IP地址或者一整串URL来说,输入域名会更加方便而且也比较容易记忆。
    DNS查找过程:
    1.1浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束。
    1.2 如果用户的浏览器缓存中没有,浏览器会查找操作系统缓存(hosts文件)中是否有这个域名对应的DNS解析结果。
    1.3 若还没有,此时会发送一个数据包给DNS服务器,DNS服务器找到后将解析所得IP地址返回给用户。
    2.发起TCP的3次握手
    3.建立TCP连接后发起http请求
    4.服务器端响应http请求,浏览器得到html代码
    5.浏览器解析html代码,并请求html代码中的资源
    6.浏览器对页面进行渲染呈现给用户

    3、解释TCP的三次握手。
    1) Client首先发送一个连接试探,ACK=0 表示确认号无效,SYN = 1 表示这是一个连接请求或连接接受报文,同 时表示这个数据报不能携带数据,seq = x 表示Client自己的初始序号(seq = 0 就代表这是第0号包),这时候 Client进入syn_sent状态,表示客户端等待服务器的回复
    2) Server监听到连接请求报文后,如同意建立连接,则向Client发送确认。TCP报文首部中的SYN 和 ACK都置1 ,ack = x + 1表示期望收到对方下一个报文段的第一个数据字节序号是x+1,同时表明x为止的所有数据都已正确收 到(ack=1其实是ack=0+1,也就是期望客户端的第1个包),seq = y 表示Server 自己的初始序号(seq=0就代表这 是服务器这边发出的第0号包)。这时服务器进入syn_rcvd,表示服务器已经收到Client的连接请求,等待client的 确认。
    3) Client收到确认后还需再次发送确认,同时携带要发送给Server的数据。ACK 置1 表示确认号ack= y + 1 有效 (代表期望收到服务器的第1个包),Client自己的序号seq= x + 1(表示这就是我的第1个包,相对于第0个包来说 的),一旦收到Client的确认之后,这个TCP连接就进入Established状态,就可以发起http请求了。

    4、描述一下 HTTP 与 HTTPS 的区别?
    https 协议需要到 ca 申请证书,一般免费证书很少,需要交费。 http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议 http 和 https 使用的是完全不同的连接方式用的端口也不一样,前者是 80,后者 是 443。 http 的连接很简单,是无状态的 HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网 络协议 要比 http 协议安全

    5、什么是Http协议无状态协议?怎么解决Http协议无状态协议?
    无状态协议对于事务处理没有记忆能力缺少状态意味着如果后续处理需要前面的信息 也就是说,当客户端一次HTTP请求完成以后,客户端再发送一次HTTP请求,HTTP并不知道当前客户端 是一个”老用户“。 可以使用Cookie来解决无状态的问题,Cookie就相当于一个通行证,第一次访问的时候给客户端发送一个 Cookie,当客户端再次来的时候,拿着Cookie(通行证),那么服务器就知道这个是”老用户“。

    6、常用的HTTP方法有哪些?
    GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器 POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
    PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
    HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
    DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
    OPTIONS:查询相应URI支持的HTTP方法。

    7、URI和URL的区别
    URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。 Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的
    URI一般由三部组成:
    ①访问资源的命名机制 ②存放资源的主机名 ③资源自身的名称,由路径表示,着重强调于资源。
    URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且 还指明了如何locate这个资源。
    URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的 Mosaic。 采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
    URL一般由三部组 成:
    ①协议(或称为服务方式) ②存有该资源的主机IP地址(有时也包括端口号) ③主机资源的具体地址。如目录和文件名等

    8、HTTP请求报文与响应报文格式
    请求报文包含四部分:
    a、请求行:包含请求方法、URI、HTTP版本信息 b、请求首部字段 c、请求内容实体 d、空行
    响应报文包含四部分:
    a、状态行:包含HTTP版本、状态码、状态码的原因短语 b、响应首部字段 c、响应内容实体 d、空行

    相关文章

      网友评论

          本文标题:网络题(HTTP/HTTPS协议 )

          本文链接:https://www.haomeiwen.com/subject/vdbsgctx.html