1. HTTP的几种请求方式与区别
-
GET 方法:发送一个请求用于获取服务器的某个资源
- 幂等性:多次发送相同的请求服务器只会处理一次
- 不带请求体:请求参数写在URL路径上面(/api/users?id=123&name=sandwich)
-
POST方法:向URL指定的资源提交数据
- 非幂等性:多次发送相同的请求服务器多次处理
- 带请求体
-
PUT方法:发送数据并储存在指定的URL位置
- 非幂等性:多次发送相同的请求服务器多次处理
- 带请求体
- 与POST的区别: ①必须指定位置 ②PUT一般用于更新或替换资源而POST一般用于新增或提交
-
DELETE方法:删除服务器指定路径的某个资源
2. 输入URL到浏览器解析的过程
- 非专业过程
- 浏览器根据URL交给本地的DNS服务器解析域名,找到真实IP
- 向服务器发起请求并且接受返回文件(HTML/CSS/JS/img)
- 解析文件并建立内部数据结构(如DOM)
- 载入文件,渲染
- 详细过程
- DNS解析: ①先看缓存有没有 ②提交给本地DNS服务器解析
- 建立TCP连接(三次握手)
- 发送HTTP请求
- 服务器解析并响应请求,返回响应报文
- 解析HTML文档,构建DOM树/CSSOM树/渲染树,执行JS脚本
- 断开连接(四次挥手)
3. HTTP状态码
- 1**:信息状态码
- 2**:成功状态码
- 3**:重定向(服务器端路径改变)
- 4**:客户端错误(格式或权限问题)
- 5**:服务器错误(服务器无法处理)
4. 对于语义化的理解
Web语义化是指在开发过程中使用恰当的HTML标签和属性名,使代码具有语义性和可读性。语义化使得网页的结构更加的清晰,更加利于机器跟人理解代码。因为标签里面的内容与标签名或属性名的匹配度与关联度很高,所以当用户在搜索相关内容的时候能够更精准的被推送,也就是SEO。
5. 浏览器内核的理解
- 首先浏览器是做什么的:1. 给服务端发请求 2.展示(所返回的)资源
- 浏览器内核(就是用来完成第二部分的):
- 渲染引擎:获取HTML/CSS/图片并且计算显示方式
- JS引擎:用于渲染JS