zoukankan      html  css  js  c++  java
  • 接口测试概述及面试题

     1、浏览器输入URL按回车背后经历了什么?

    (1)首先,在浏览器地址栏中输入url,先解析url地址是否合法

    (2)浏览器先查看浏览器缓存-系统缓存-路由缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。

    浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求

    操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使用系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存)

    路由缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存

    ISP缓存:若上述均失败,继续向ISP搜索。

    (3)在发送http请求前,需要域名解析(DNS解析),解析获取相应的ip地址。

    (4)浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。

    (5)握手成功后,浏览器向服务器发送Http请求,请求数据包

    (6)服务器处理收到的请求,将数据返回至浏览器

    (7)浏览器收到http响应

    (8)浏览器解码响应,如果响应可以缓存,则存入缓存

    (9)浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐),对于未知类型,会弹出对话框

    (10)浏览器发送异步请求

    (11)页面全部渲染结束

    二、http协议中get、post的区别

    (1)功能差异:get从服务器上取数据、post客户端向服务端上传数据

    (2)数据传输:get在url上传参数

                               post在body里面传参数

    (3)安全性:post相对于get更安全,get的参数都显示在url里面

    重大区别:

    GET产生一个TCP数据包;POST产生两个TCp数据包。

    对于get方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据)

    对于post请求,浏览器会先发送header,服务器响应100continue,浏览器再发送data,服务器响应200 0k(返回数据)

    三、cookies机制和session机制的区别

    cookies数据保存在客户端,session数据保存在服务器端

    cookies可以减轻服务器压力,但是不安全,容易进行cookie欺骗

    session较安全,但占用服务器资源

    四、http和https的区别

    HTTP协议传输的都是未加密的,也就是明文的,因此可以使用http协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL协议用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS.

    HTTPS=SSL+HTTP

    1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用

    2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议

    3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443

    (这个只是默认端口不一样,实际上端口是可以改的)

    4、http的连接很简单,是无状态的,hhtps的协议是由SSL+HTTP协议构建的可以进行加密传输,身份认证的网络协议,比http协议安全。

  • 相关阅读:
    每日一模块:操作execl表格openpyxl
    python爬虫-通过api获取所在城市的天气
    机器学习(一):模型评估指标
    机器学习(二)-信息熵,条件熵,信息增益,信息增益比,基尼系数
    Anaconda安装及R环境配置
    VCF文件-VCFv4.2示例解释
    CPRIMER CHAP13
    R语言-ggplot原点设置
    c++11 多线程简介
    相关系数
  • 原文地址:https://www.cnblogs.com/crystal1126/p/12850891.html
Copyright © 2011-2022 走看看