01、HTTP 常⻅的状态码有哪些?

1xx 服务器收到请求

2xx 请求成功         ---   200 成功状态码

3xx 重定向            ---  301永久重定向,浏览器下次⾃动取重定向的地址 ---  302临时重定向,浏览器下次还会请求原地址 --- 304 资源未被修改

4xx 客户端错误     ---  403 没有权限  --- 404 资源未找到

5xx 服务器错误     --- 500 服务器错误 --- 网关超时

02、HTTP 常⻅的 header 有哪些?

常⻅的 Request Header
Accept 浏览器可接收的数据格式
Accept-Encoding 浏览器可接收的压缩算法,gzip
Connection:Keep-alive ⼀次TCP连接重复使⽤
UserAgent 浏览器信息
Content-type: application/json
常⻅的 Response Header
Content-type: application/json
Content-length 返回数据⼤⼩,多少字节
Content-Encoding 返回数据的压缩算法 gzip 缓存相关 Header
Cache-Control(新)代替 Expires(⽼) 控制缓存
Last-Modified If-Modified-Since
Etag If-None-Match

03、什么是 Restful API?

常⻅method

get 获取数据

post 发送数据

patch/put 更新数据

delete 删除数据

【传统API】

把每个URL当做⼀个功能

【Restful API】

把每个URL当做⼀个唯⼀的资源,⽤method表示操作类型

有操作类型,有资源标识,这个API的⽬的就⼀⽬了然了

04、描述从输⼊URL到渲染出⻚⾯的整个过程

请求过程:

DNS:域名 -> IP

浏览器向服务器发起http请求(3次握⼿)

服务器处理HTTP请求,并返回给浏览器

渲染过程:

根据HTML⽣成DOM Tree

根据CSS⽣成CSSOM

DOM Tree+CSSOM形成Render Tree

浏览器根据 Render Tree 渲染⻚⾯

遇到 js 暂停渲染,优先加载并执⾏js,完成再继续渲染 Render Tree

为什么要把 CSS 的 <link /> 标签放在 <head> 中?

优先渲染将样式表放在文档底部附近,会使许多浏览器(包括Internet Explorer)不能逐步呈现页面

为什么把 JS 代码放在body下⾯? 

提高用户体验,js放在head里面,会堵塞DOM的生成。使用就无法获取通过选择器获取DOM元素进行操作

除了特殊处理的代码

05、window.onload与DOMContentLoaded有什么区别?

window.onload ⻚⾯的全部资源加载完才会执⾏,包括图⽚、视频等

DOMContentLoaded DOM渲染完就执⾏,图⽚、视频可能还没加载完

06、如何预防xss攻击?/ 前端常⻅的攻击⽅式有哪些?

场景:

博客或其他需要⽤户输⼊内容

预防:

替换特殊字符 < 变成  & l t ;  > 变成  & g t ;

前后端都要替换特殊字符

推书:《⽩帽⼦讲web安全》 吴翰清

07、如何预防xsrf攻击?

场景:
电⼦邮件中包含
<img src="xxx.com/bug?id=100" > 预防:
使⽤post接⼝
增加验证,指纹、⽀付密码、⼈脸...

08、let、const、var有什么区别?

let const 块作⽤域,var 没有
let 变量
const 常量,定义后不能修改

个人博客地址:http://blog.qianbaiyv.cn/get/my/blog/details/2311887075%40qq.com/123

面试 考察网络请求HTTP相关知识(第六天!)的更多相关文章

  1. 网络请求的基本知识《极客学院 --AFNetworking 2.x 网络解析详解--1》学习笔记

    网络请求的基本知识   我们网络请求用的是HTTP请求 Http请求格式:请求的方法,请求头,请求正文 Http请求的Request fields:请求的头部,以及被请求头部的一些设置 Http请求的 ...

  2. AFNetWorking 之 网络请求的基本知识

    NSString *urlStr = @"http://api.openweathermap.org/data/2.5/forecast/daily"; AFHTTPRequest ...

  3. 面试之jsp、Servlet相关知识——生命周期, 区别等

    1.servlet生命周期 所谓生命周期,指的是servlet容器如何创建servlet实例.分配其资源.调用其方法.并销毁其实例的整个过程. 阶段一: 实例化(就是创建servlet对象,调用构造器 ...

  4. HashMap面试必问的数据结构相关知识

    如果在看这篇文章时,对HashMap的结构还不是很了解,建议你参考前段时间写的<刨死你系列——HashMap剖析(基于jdk1.8)>,可能会对下面的提及到知识点有些帮助. 1:HashM ...

  5. iOS基础之网络请求相关

    1.AFNetwork二次封装方法一: #import <Foundation/Foundation.h> @interface BeeNetworkManager : NSObject ...

  6. 【Android】Volley做网络请求的几种用法

    前言: 最近在将自己写的烂代码重构,以前使用的网络请求全是基于apache的HttpClient,简单使用还好,使用多了发现重复代码太多,而且每次使用都很繁琐,因此在网上找了半天网络请求的相关类库,最 ...

  7. Android中的异步网络请求

    本篇文章我们来一起写一个最基本的Android异步网络请求框架,借此来了解下Android中网络请求的相关姿势.由于个人水平有限,文中难免存在疏忽和谬误,希望大家可以指出,谢谢大家:) 1. 同步网络 ...

  8. Android中解析网络请求的URL

    近期正在做Android网络应用的开发,使用了android网络请求方面的知识.如今向大家介绍网络请求方面的知识.我们知道android中向server端发送一个请求,(这就是我们通常所说的POST请 ...

  9. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

  10. 【转载】前端面试“http全过程”将所有HTTP相关知识抛出来了...

    原文:前端面试“http全过程”将所有HTTP相关知识抛出来了... 来一篇串通,一个http全过程的问题,把所有HTTP相关知识点都带过一遍 http全过程 输入域名(url)-->DNS映射 ...

随机推荐

  1. Homework6

    1.问:阅读和了解什么是形式化方法? 答:形式化方法在逻辑科学中是指分析.研究思维形式结构的方法.是把各种具有不同内容的思维形式(主要是命题和推理)加以比较,找出各个部分相互联结的方式,抽取出共同的形 ...

  2. 【读书笔记】C#高级编程 第十五章 反射

    (一)在运行期间处理和检查代码 自定义特性允许把自定义元数据与程序元素关联起来.反射是一个普通术语,它描述了在运行过程中检查和处理程序元素的功能.例如,反射允许完成的任务: 枚举类型的成员 实例化新对 ...

  3. 创建一个k8s私有仓库-harbor

    〇.前言 这一步应该是在搭建k8s之前做好,注意了奥 一.安装docker和docker-compose 1.下载docker-compose的最新版本 # 建议那种网上冲浪下载!,下载下来记得命名成 ...

  4. java8 新特性 -Optional的常见用法

    1. Optional 一. 简介 Opitonal是java8引入的一个新类,目的是为了解决空指针异常问题.本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为 ...

  5. Windows 2012 R2上搭建IIS管理用户的隔离模式FTP

    Windows 2012 R2上搭建IIS管理用户的隔离模式FTP Windows自带的FTP现在可以提供基于非OS用户的管理,这提高了安全性.即使FTP用户名和密码泄露,也不会对操作系统造成进一步的 ...

  6. SQL 时间范围和时间粒度

    前言 使用 SQL 进行业务数据计算时,经常会遇到两个概念:时间范围 和 时间粒度 .以 最近一天的每小时的用户访问人数 为例: 最近一天 是时间范围 每小时 是时间粒度 常见的时间范围:最近五分钟. ...

  7. 全志H616基于官方外设开发-蜂鸣器

    #include <stdio.h> #include <wiringPi.h> #include <unistd.h> #define BEEP 0 //设置针脚 ...

  8. MySQL8.0报错:Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation

    MySQL8.0.16版本中新增了一个system_user帐户类型,当新增用户并赋予权限时 mysql> create user 'proxysql'@'192.168.20.%' ident ...

  9. Centos7.6内核升级

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483766&idx=1&sn=4750fd4e ...

  10. 【持久层框架】- SpringData - JPA

    SpringData - JPA 生命不息,写作不止 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 分享学习心得,欢迎指正,大家一起学习成长! JPA简 ...