Html是骨骼、css是皮肤、js是肌肉,三者之间的关系可以简单理解为m(html)-v(css)-c(js)
浏览器的加载过程
构建dom树
子资源加载-加载外部的css、图片、js等外部资源
样式渲染-css执行
DOM树
ajax、json、xml
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
AJAX=异步JavaScript和XML。
AJAX 是一种用于创建快速动态网页的技术。
json和xml的产生需求:
跨语言的数据格式
json:
xml:
动态网页和静态网页
静态网页就是直接固定的数据,动态网页就是有交互的网页比如数据通过ajax请求动态加载了数据。
百度百科,维基百科这种很少变动的网页就是静态网页。有些博客也是静态网页
静态网页相对稳定,响应快,利于SEO
动态网页体验好,数据部分加载,对服务器友好,扩展性好
GET和POST
GET和POST是HTTP请求的两种基本方法,最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数
1.GET在浏览器回退时是无害的,而POST会再次提交请求
2.GET请求只能进行url编码,而POST支持多种编码方式
3.GET请求在URL中传送的参数是有长度限制的,而POST没有
4.GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
三种content-type
- application/x-www-form-urlencoded
这应该是最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。
首先,Content-Type 被指定为 application/x-www-form-urlencoded其次,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key和val都进行了 URL转码。大部分服务端语言都对这种方式有很好的支持
- multipart/form-data
这又是一个常见的 POST 数据提交的方式。我们使用表单上传文件时,必须让 form 的 enctype 等于这个值。
- application/json
application/json 这个 Content-Type 作为响应头大家肯定不陌生。实际现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行,除了低版本 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。