/**
1、HTTP以及HTTPS概念
HTTP是超文本传输协议,是一个用于传输超媒体文档的应用层协议,被用于在web浏览器和网站服务器之间,以明文方式传递信息,
不提供任何方式的饿数据加密,因此使用http传输隐私信息非常不安全; 为了解决这一安全缺陷,网景公司设计了SSL协议,在http基础上加入ssl协议,依靠证书来验证服务器的身份,并为
浏览器和服务器之间的通信进行加密,从而产生了HTTPS;
**/ /**
2、HTTP状态码有哪些? HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。
响应分为五类:
信息响应(100–199);
成功响应(200–299);
重定向(300–399);
客户端错误(400–499);
服务器错误 (500–599); 常用的有:
200(ok) 请求成功
404(Not Found) 服务器找不到请求的网页
405(禁用) 禁用请求中指定的方法
408(请求超时) 服务器等候请求时发生超时
500(服务器错误) 服务器内部错误 服务器遇到错误,无法完成请求
504(服务器网关超时) 当服务器作为网关,不能及时得到响应时返回此错误代码。
**/ /**
2、HTTP与HTTPS有什么区别? HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息
a、HTTPS协议需要到CA申请证书,需要花钱买;
b、HTTP协议 = TCP,HTTPS协议 = TCP+SSL;
c、HTTP信息是明文传输,HTTPS是加密传输;
d、HTTP的url以http://开头,HTTPS的url以https://开头
e、HTTP的端口为80,HTTPS的端口为443;
**/ /**
3、浏览器存储方式有哪些?
a、cookie: 一般由服务器生成,可以设置过期时间,数据存储大概4k,,每次会携带在header中,对弈请求性能影响;
b、session
c、localStorage:除非被清理,否则一直存在,数据存储大概5M
d、sessionStorage:页面关闭就清理,数据存储大概5M 注意: localStorage和sessionStorage自带getItem和setItem,只能存取字符串,存取JSON数据需配合JSON.stringify()和JSON.parse();
遇见禁用setItem的浏览器,需要使用try...catch捕获异常; cookie和session的区别:
1、存在的位置:cookie是存储在客户端,session是存储在服务器端;
2、cookie是以明文的方式放在客户端的,安全性低,可以通过一个加密算发进行加密后存放,
session存放于服务器的内存中,所以安全性性好;
3、cookie为多个用户浏览器共享,session为一个用户浏览器独享; **/ /**
4、地址栏输入url后会发生什么? 1、DNS域名解析(解析成ip地址,走UTP协议,因此不会握手过程):
浏览器将 URL 解析出相对应的服务器的 IP 地址(
1. 本地浏览器的 DNS 缓存中查找
2. 再向系统DNS缓存发送查询请求
3. 再向路由器DNS缓存
4. 网络运营商DNS缓存
5. 递归搜索),
并从 url 中解析出端口号
2、浏览器与目标服务器建立一条 TCP 连接(三次握手)
3、浏览器向服务器发送一条 HTTP 请求报文
4、服务器返回给浏览器一条 HTTP 响应报文
5、浏览器进行渲染
6、关闭 TCP 连接(四次挥手) **/ /**
5、页面渲染优化? 1、HTML文档结构层次尽量少,最好不深于6层;
2、脚本尽量放后边,避免阻止页面加载;
3、少量首屏样式可以放在便签内;
4、样式结构层次尽量简单;
5、脚本减少DOM操作,减少回流,尽量缓存访问DOM的样式信息;
6、尽量减少JS修改样式,可以通过修改class名的方式解决;
7、减少DOM查找,缓存DOM查找结果;
8、动画在屏幕外活页面滚动时,尽量停止; **/ /**
6、get和post的区别? 1、get参数通过url传递,post放在body中(http协议规定,url在请求头中,所以大小限制很小);
2、get相比post不够安全,因为参数直接暴露在url中,所以不能用来传递敏感信息;
3、get在浏览器回退时是无害的,而post会再次提交请求;
4、对参数的数据类型,get只接受ASCII字符,而POST没有限制; **/

面试必问之http以及浏览器相关知识的更多相关文章

  1. linux驱动工程面试必问知识点

    linux内核原理面试必问(由易到难) 简单型 1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些? 2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化, ...

  2. 互联网公司面试必问的Redis题目

    Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到.Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点. 介绍:Redi ...

  3. 互联网公司面试必问的mysql题目(下)

    这是mysql系列的下篇,上篇文章地址我附在文末. 什么是数据库索引?索引有哪几种类型?什么是最左前缀原则?索引算法有哪些?有什么区别? 索引是对数据库表中一列或多列的值进行排序的一种结构.一个非常恰 ...

  4. 面试必问:JVM类加载机制详细解析

    前言 在Java面试中,简历上有写JVM(Java虚拟机)相关的东西,JVM的类加载机制基本是面试必问的知识点. 类的加载和卸载 JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是cla ...

  5. 一线大厂Java面试必问的2大类Tomcat调优

    一.前言 最近整理了 Tomcat 调优这块,基本上面试必问,于是就花了点时间去搜集一下 Tomcat 调优都调了些什么,先记录一下调优手段,更多详细的原理和实现以后用到时候再来补充记录,下面就来介绍 ...

  6. 高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)

    现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python ...

  7. Java面试必问之Hashmap底层实现原理(JDK1.7)

    1. 前言 Hashmap可以说是Java面试必问的,一般的面试题会问: Hashmap有哪些特性? Hashmap底层实现原理(get\put\resize) Hashmap怎么解决hash冲突? ...

  8. 【面试必问】python实例方法、类方法@classmethod、静态方法@staticmethod和属性方法@property区别

    [面试必问]python实例方法.类方法@classmethod.静态方法@staticmethod和属性方法@property区别 1.#类方法@classmethod,只能访问类变量,不能访问实例 ...

  9. 互联网公司面试必问的mysql题目(上)

    又到了招聘的旺季,被要求准备些社招.校招的题库.(如果你是应届生,尤其是东北的某大学,绝对福利哦) 介绍:MySQL是一个关系型数据库管理系统,目前属于 Oracle 旗下产品.虽然单机性能比不上or ...

随机推荐

  1. 吴裕雄--天生自然C++语言学习笔记:C++ 标准库

    C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的.独立的.不属于任何类的函数组成的.函数库继承自 C 语言. 面向对象类库: 这个库是类及其相关函数的集合. C++ 标准库包含了所有的 ...

  2. CF1141E Superhero Battle

    A superhero fights with a monster. The battle consists of rounds, each of which lasts exactly n minu ...

  3. 每天一点点之vue框架开发 - vue-router路由在循环中携带参数

    场景:要实现一个标签云,通过循环把标签渲染,然后单击标签的时候实现跳转,跳转路由一样,通过唯一参数来实现请求不同的数据 因此,就需要在for循环中来携带参数,本节所讲的是路由使用对象的形式(别名)来实 ...

  4. tx2--开机启动

    TX2上电自动开机 参考:http://121.42.13.250/?p=168 问题描述 Jetson TX2在接通电源后,按下板子上的PWOER BTN开机键(S4)后,便能够正常启动.但这对于一 ...

  5. cf 453A.Little Pony and Expected Maximum

    水了一上午.. 拿6面举例子吧,因为是投掷m次取最大,最大是1概率(1/6)^m;最大是2就可以取到(1,2)那么概率就是(1/3)^m-(1/6)^m.(当前减去上一个) #include<b ...

  6. MVC学生管理系统-阶段V(模糊查询)

    项目源码 :https://download.csdn.net/download/weixin_44718300/11091042 此处省略一段话.去上一篇查看 NO01:修改list.jsp < ...

  7. 《新标准C++程序设计》2.4-2.6(C++学习笔记4)

     1.对象的内存匹配 一般来说,在C++中,一个对象占用的内存空间大小等于其成员变量所占用的内存空间的大小之和.(对象只包含成员变量,不包含成员函数) 每个对象都有各自的存储空间.一个对象的某个成员变 ...

  8. web嵌入到原生的app里需要注意的事项

    1.https://www.cnblogs.com/shimily/articles/7943370.html 2.https://www.cnblogs.com/stoneniqiu/p/60771 ...

  9. JavaBean和json数据之间的转换(一)简单的JavaBean转换

    1.为什么要使用json? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,因为其高性能.可读性强的原因,成为了现阶段web开发中前后端交互数据的主要数据 ...

  10. mybatis的一对多和多对一的连接查询

    实体类: package com.entity; import java.util.List; public class Dept { private Integer deptId; private ...