HTTP考点
Posted zhoujingye
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP考点相关的知识,希望对你有一定的参考价值。
1.必考:HTTP 状态码知道哪些?分别什么意思?
- 2xx 表示成功
- 3xx 表示需要进一步操作
- 4xx 表示浏览器方面出错
- 5xx 表示服务器方面出错
- 完整参考 http://www.runoob.com/http/http-status-codes.html
HTTP STATS CAT 哈哈哈哈哈哈哈
2.大公司必考:HTTP 缓存有哪几种?
- 需要详细的了解 ETag、CacheControl、Expires 的异同
- 参考 https://imweb.io/topic/5795dcb6fb312541492eda8c
- 答题要点:(三个字段,两个对比)
- ETag 是通过对比浏览器和服务器资源的特征值(如MD5)来决定是否要发送文件内容,如果一样就只发送 304(not modified)
- Expires 是设置过期时间(绝对时间),但是如果用户的本地时间被调整了,可能会有问题
- CacheControl: max-age=3600 是设置过期时长(相对时间),跟本地时间无关。
- Etag和CacheControl的区别:CacheControl是从本地浏览器文件缓存读的,而ETag还是会发起请求的,ETag是有请求的,命中的状态码是304
- Expires和CacheControl对比,答本地时间和相对时间
- PWA技术,浏览器缓存的先后顺序
3. 必考:GET 和 POST 的区别
- 错解,但是能过面试
- GET在浏览器回退时是无害的,而POST会再次提交请求。
- GET产生的URL地址可以被加入收藏栏,而POST不可以。
- GET请求会被浏览器主动cache,而POST不会,除非手动设置。
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET请求在URL中传送的参数是有长度限制的,而POST没有。
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
- GET参数通过URL传递,POST放在Request body中。
- post安全,get不安全
- get url有长度限制,post没有
- get参数放在url里,post放在消息体里
- get只需要一个报文,post需要两个以上(因为他有消息体)
- get幂等的,post不幂等的(发多次Get不会改变数据库的数据的)
- 正解
就一个区别:语义——GET 用于获取资源,POST 用于提交资源。
4.Cookie V.S. LocalStorage V.S. SessionStorage V.S. Session
- Cookie V.S. LocalStorage
- 主要区别是 Cookie 会被发送到服务器,而 LocalStorage 不会发送到服务器上
- Cookie 大小限制比较小,一般最大 4k,LocalStorage 可以用 5Mb 甚至 10Mb(各浏览器不同)
- cookie用来存用户信息的,LocalStorage存不重要的东西的
- LocalStorage V.S. SessionStorage
- LocalStorage 一般不会自动过期(除非用户手动清除),而 SessionStorage 在回话结束时过期(如关闭浏览器)
- Cookie V.S. Session
- cookie是服务器发送给浏览器的一段字符串,浏览器在每一次访问服务器的时候都要带上这个字符串(门票);Session表示浏览器与服务器一段时间的会话
- Cookie 存在浏览器的文件里,Session 存在服务器的文件里
- Session 是基于 Cookie 实现的,具体做法就是把 SessionID 存在 Cookie 里
5. HTTP2和HTTP1的区别 背!
Jerry Qu 屈光宇
重点:多路复用、服务端推送,知乎
以上是关于HTTP考点的主要内容,如果未能解决你的问题,请参考以下文章