发表于: 2017-05-19 09:31:28

1 1064


今天完成的事情:

1.关于Content-Type

Content-Type用于指定内容类型,一般是指网页中存在的Content-Type,Content-Type属性指定请求和响应的HTTP内容类型。如果未指定 ContentType,默认为text/html。

在nginx中有个配置文件mime.types,主要是标示Content-Type的文件格式。

下面是几个常见的Content-Type:

1.text/html

2.text/plain

3.text/css

4.text/javascript

5.application/x-www-form-urlencoded

6.multipart/form-data

7.application/json

8.application/xml

前面都是html,css,javascript的文件类型,后面四个是POST的发包方式。HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体: 

<method> <request-url> <version> 

<headers> 

<entity-body></entity-body></headers></version></request-url></method> 

协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。 

但是,数据发送出去,还要服务端解析成功才有意义。一般服务端语言如 php、python 等,以及它们的 framework,都内置了自动解析常见数据格式的功能。服务端通常是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。


其中application/x-www-form-urlencoded是默认值,在AJAX里见过这个:xmlHttp.setRequestHeader("Content-Type","application/x-www-form- urlencoded"); 这两个要做的是同一件事情,就是设置表单传输的编码。在AJAX里不写有可能会报错,但是在HTML的form表单里是可以不写 enctype="application/x-www-form-urlencoded"的,因为默认HTML表单就是这种传输编码类型。而 multipart-form-data是用来指定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片或者mp3等等。 text/plain是纯文本传输的意思,在发送邮件时要设置这种编码类型,否则会出现接收时编码混乱的问题,网络上经常拿text/plain和 text/html做比较,其实这两个很好区分,前者用来传输纯文本文件,后者则是传递html代码的编码类型,在发送头文件时才用得上。不能用于上传文件,只有multipart/form-data才能完整的传递文件数据。


2. 引入预定义类型 Component类、View类和bootstrap函数,定义一个类,然后给这个类添加


@Component({selector:"ez-app"})

@View({template:"<h1>Hello,Angular2</h1>"})

class EzApp{}

等同于

class EzApp{...}

EzApp.annotations = [new Component({selector:"ez-app"})];


@Component和@View都是给类EzApp附加的元信息, 被称为注解/Annotation。

@Component最重要的作用是通过selector属性(值为CSS选择符),指定这个组件渲染到哪个DOM对象上。 @View最重要的作用是通过template属性,指定渲染的模板。

将EzApp组件渲染到DOM树上,需要使用bootstrap函数

bootstrap(EzApp);



明天计划的事情:

       继续学习angular


问题:

      JavaScript基础(BOM、DOM、事件系统、原型、作用域、闭包),依赖注入、MVC等常见的技术和设计模式。


收获:

     如上





返回列表 返回列表
评论

    分享到