面试 考察网络请求HTTP相关知识(第六天!)
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相关知识(第六天!)的更多相关文章
- 网络请求的基本知识《极客学院 --AFNetworking 2.x 网络解析详解--1》学习笔记
网络请求的基本知识 我们网络请求用的是HTTP请求 Http请求格式:请求的方法,请求头,请求正文 Http请求的Request fields:请求的头部,以及被请求头部的一些设置 Http请求的 ...
- AFNetWorking 之 网络请求的基本知识
NSString *urlStr = @"http://api.openweathermap.org/data/2.5/forecast/daily"; AFHTTPRequest ...
- 面试之jsp、Servlet相关知识——生命周期, 区别等
1.servlet生命周期 所谓生命周期,指的是servlet容器如何创建servlet实例.分配其资源.调用其方法.并销毁其实例的整个过程. 阶段一: 实例化(就是创建servlet对象,调用构造器 ...
- HashMap面试必问的数据结构相关知识
如果在看这篇文章时,对HashMap的结构还不是很了解,建议你参考前段时间写的<刨死你系列——HashMap剖析(基于jdk1.8)>,可能会对下面的提及到知识点有些帮助. 1:HashM ...
- iOS基础之网络请求相关
1.AFNetwork二次封装方法一: #import <Foundation/Foundation.h> @interface BeeNetworkManager : NSObject ...
- 【Android】Volley做网络请求的几种用法
前言: 最近在将自己写的烂代码重构,以前使用的网络请求全是基于apache的HttpClient,简单使用还好,使用多了发现重复代码太多,而且每次使用都很繁琐,因此在网上找了半天网络请求的相关类库,最 ...
- Android中的异步网络请求
本篇文章我们来一起写一个最基本的Android异步网络请求框架,借此来了解下Android中网络请求的相关姿势.由于个人水平有限,文中难免存在疏忽和谬误,希望大家可以指出,谢谢大家:) 1. 同步网络 ...
- Android中解析网络请求的URL
近期正在做Android网络应用的开发,使用了android网络请求方面的知识.如今向大家介绍网络请求方面的知识.我们知道android中向server端发送一个请求,(这就是我们通常所说的POST请 ...
- iOS网络相关知识总结
iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...
- 【转载】前端面试“http全过程”将所有HTTP相关知识抛出来了...
原文:前端面试“http全过程”将所有HTTP相关知识抛出来了... 来一篇串通,一个http全过程的问题,把所有HTTP相关知识点都带过一遍 http全过程 输入域名(url)-->DNS映射 ...
随机推荐
- CF-1675D. Vertical Paths
题意:每次可以选择一条路径,要求这条路径中每个点都是上一个点的子节点,求最少需要几条路径将所有点走完 思路:将每个点有没有子节点判断出来,因为只有没有子节点的点需要新增一条路,所以需要路径的最小数目就 ...
- Linux之Samba服务器搭建
一,samba的基本概念 SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. ...
- winform,获取http服务状态
/// <summary> /// 获取http服务状态 /// </summary> /// <returns></returns> protecte ...
- 国产CPLD(AGM1280)试用记录——做个SPI接口的任意波形DDS [原创www.cnblogs.com/helesheng]
我之前用过的CPLD有Altera公司的MAX和MAX-II系列,主要有两个优点:1.程序存储在片上Flash,上电即行,保密性高.2.CPLD器件规模小,成本和功耗低,时序不收敛情况也不容易出现.缺 ...
- js工厂模式和构造函数
<!DOCTYPE html><html><head> <title>工厂模式和构造函数</title> <meta charset ...
- PHP获取当前周一、周末时间等(持续更新)
获取周一和周日的日期 $week = date('w') == 0 ? 7 : date('w'); $Sunday = strtotime('today -' . ($week - 1) . 'da ...
- Elasticsearch:top_hits aggregation
top_hits指标聚合器跟踪要聚合的最相关文档. 该聚合器旨在用作子聚合器,以便可以按存储分区汇总最匹配的文档. top_hits聚合器可以有效地用于通过存储桶聚合器按某些字段对结果集进行分组. 一 ...
- k8s中安装rabbitmq集群
官方文档地址:https://www.rabbitmq.com/kubernetes/operator/quickstart-operator.html 要求 1.k8s版本要1.18及其以上 2.能 ...
- 努力一周,开源一个超好用的接口Mock工具——Msw-Tools
作为一名前端开发,是不是总有这样的体验:基础功能逻辑和页面UI开发很快速,本来可以提前完成,但是接口数据联调很费劲,耗时又耗力,有时为了保证进度还不得不加加班. 为了摆脱这种痛苦,经过一周的努力,从零 ...
- aardio + PowerShell 可视化快速开发独立 EXE 桌面程序
aardio 可以方便地调用 PowerShell ,PowerShell 中也可以自由调用 aardio 对象与函数.不用带上体积很大的System.Management.Automation.dl ...