〖HTTP 流年〗method变化,AJAX => RESTfull,OPTIONS => CORS,网络安全

365 阅读3分钟

GET

1991年,HTTP 0.9 随http出现,HTTP/1.0第一次被定义。
请求资源,幂等,无副作用。
ASCII 字符,URL 的最大长度 2048 个字符,application/x-www-form-urlencoded编码,可被浏览器缓存。

网络爬虫

网络爬虫(web crawler),也叫 网络蜘蛛(spider),robots.txt设置网址给礼貌爬虫的权限。爬虫会更随意的发出get请求,所以要注意无副作用特性

CDN

# 前端必需了解的CDN知识

POST

1996年,HTTP/1.0中定义,提交表单,可能有副作用。
提交数据,有副作用,所以重新提交时浏览器会提醒。
数据无限制,application/x-www-form-urlencoded 或 multipart/form-data编码,不可缓存。

HEAD

1996年,HTTP/1.0中定义,类似get,只请求关于该资源的信息。(元信息或称元数据)。

AJAX

异步JavaScript与XML技术(Asynchronous JavaScript and XML),异步技术使网页无需刷新,产生请求,页面变化

1996年,Internet Explorer引入了 iframe 标签,实现异步加载网页

1998年,Microsoft Outlook Web Acces团队探索了XMLHttpRequest的概念。1999年,XMLHttpRequest随IE5推出。

2006年,W3C 发布了 XMLHttpRequest 对象的第一份规范草案,现在已经是现实标准

2015年,Fetch伴随Promise出现,也成为了替代XMLHttpRequest的现实标准

REST

具象状态传输,RESTful(Representational state transfer),AJAX出现让请求头,请求参数,状态码放哪成了一个争论的问题,于是出现了公认的RESTful设计标准

# RESTful API 最佳实践

PUT

向指定资源位置上传其最新内容。

DELETE

请求服务器删除Request-URI所标识的资源。

TRACE

回显服务器收到的请求,主要用于测试或诊断。

http中的put、delete等请求为什么不安全?

OPTIONS

这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用'*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。

OPTIONS一般出现于CORS复杂请求

跨域 CORS

# 面试官:说说你对 options 请求的理解
# 10种跨域解决方案(附终极大招)

网络安全

# 常见 Web 安全攻防总结

XSS

XSS (Cross Site Script),跨站脚本攻击,因为缩写和 CSS (Cascading Style Sheets) 重叠,所以只能叫 XSS。

  1. 诱导点击URL进行发送请求
    • 用户输入地址跳转,携带cookie
  2. 前端渲染用户存入的HTML文件
  3. 字符集绕过转义过滤

CSRF

CSRF(Cross-Site Request Forgery),跨站请求伪造攻击

未登出的情况下,被危险网页打开网站,并发起请求。

# 前端安全系列之二:如何防止CSRF攻击?

SQL注入

后端SQL命令直接使用了前端传来的数据。

命令行注入

与上者类似,直接运行用户传来的数据。

DDoS 攻击

DDoS(Distributed Denial of Service),分布式拒绝服务

利用大量的请求造成资源过载,导致服务不可用

网络层 DDoS

网络层 DDos 攻击包括 SYN FloodACK FloodUDP FloodICMP Flood 等。

应用层 DDoS

CC 攻击、DNS Flood、HTTP 慢速连接攻击

流量劫持

DNS 劫持,也叫做域名劫持

当用户通过某一个域名访问一个站点的时候,被篡改的 DNS 服务器返回的是一个恶意的钓鱼站点的 IP

  • 网络运营商问题
  • 电脑中毒

HTTP 劫持

http响应被串改

启用https

服务器漏洞

  • 越权操作漏洞 后端未校验用户
  • 目录遍历漏洞
  • 物理路径泄漏
  • 源码暴露漏洞