标签:internet 应用程序 blank 互联网 target
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
它是一个互联网标准,扩展了电子邮件标准,使其能够支持:
非ASCII(美国标准信息交换代码))字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)
这个标准被定义在RFC 2045(是一系列以编号排定的文件)、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822转变而来的RFC 2822,这些旧标准规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息原本都不能在电子邮件中传输(MIME可以)。MIME规定了用于表示各种各样的数据类型的符号化方法。 此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型。
根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
注意:
1) 方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。
2) HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法
详解:http://tools.jb51.net/table/http_request_method
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。
服务器响应消息
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
实例
下面实例是一点典型的使用GET来传递数据的实例:
客户端请求:
服务端响应:
输出结果:
HTTP 简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP 工作原理
HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。
Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP默认端口号为80,但是你也可以改为8080或者其他端口。
HTTP三点注意事项:
· HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
· HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
· HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
以下图表展示了HTTP协议通信流程:
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。
HTTP状态码的英文为HTTP Status Code。
下面是常见的HTTP状态码:
· 200 - 请求成功
· 301 - 资源(网页等)被永久转移到其它URL
· 404 - 请求的资源(网页等)不存在
· 500 - 内部服务器错误
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:
HTTP状态码分类
详解:http://tools.jb51.net/table/http_status_code
SSL简介
1)简介
SSL (Secure Socket Layer)为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
2)SSL提供的服务
a.认证用户和服务器,确保数据发送到正确的客户机和服务器
b.加密数据以防止数据中途被窃取
c.维护数据的完整性,确保数据在传输过程中不被改变。
3) SSL协议的握手过程
HTTPS概念
1)简介
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
2)HTTPS和HTTP的区别
a. https协议需要到ca申请证书,一般免费证书很少,需要交费。
b. http是超文本传输协议,信息是明文传输;https 则是具有安全性的ssl加密传输协议。
c. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
d. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
3)HTTPS的作用
它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
a. 一般意义上的https,就是服务器有一个证书。主要目的是保证服务器就是他声称的服务器,这个跟第一点一样;服务端和客户端之间的所有通讯,都是加密的。
b. 具体讲,是客户端产生一个对称的密钥,通过服务器的证书来交换密钥,即一般意义上的握手过程。
c. 接下来所有的信息往来就都是加密的。第三方即使截获,也没有任何意义,因为他没有密钥,当然篡改也就没有什么意义了。
d.少许对客户端有要求的情况下,会要求客户端也必须有一个证书。
这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码,还有一个CA 认证过的身份。因为个人证书一般来说是别人无法模拟的,所有这样能够更深的确认自己的身份。目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘(即U盾)作为一个备份的载体。
http实现的原理:
1)对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等;
2)非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等。
详解:http://blog.163.com/magicc_love/blog/static/185853662201321423527263/
http://blog.csdn.net/zmx729618/article/details/51372659
1. C/S(client/server)模式:
1.1两层结构C/S模式
事务处理逻辑单元在客户端实现,客户为“胖客户”,服务器为“瘦服务器”。
任何一个C/S应用系统都由显示逻辑部分(表示层)、事务处理逻辑部分(功能层)和数据处理逻辑部分(数据层)三部分组成。表示层的功能是实现与用户的交互,功能层的功能是进行具体的运算和数据的处理,数据层的功能是实现对数据库中的数据进行查询、修改、更新等任务。
两层结构C/S模式中,显示逻辑和事务处理逻辑部分均被放在客户端,数据处理逻辑和数据库放在服务器端,从而使客户端变得很“胖”,成为胖客户机,相对服务器端的任务较轻,成为瘦服务器. 两层C/S的结构如图1-1所示。
这种传统的两层体系结构比较适合于小规模的、用户较少、单一数据库且有安全。这种传统的两层体系结构比较适合于小规模的、用户较少、单一数据库且有安全性性和快速性保障的局域网环境下运行。
1.2三层结构C/S模式
三层C/S结构对表示层、功能层和数据层三部分进行了明确分割,并在逻辑上使其独立。显示逻辑放在客户端,事务处理逻辑作为事务处理服务器放在功能层,数据处理逻辑和数据库放在服务器端,由于事务处理逻辑单元在专门的事务处理服务器中实现,所以客户机的任务大大减轻,成为“瘦客户”。三层C/S的结构如图1-2所示。
2.B/S模式
B/S(Browser/Server)模式是一种以Web技术为基础的新型网络管理信息系统平台模式。B/S是一种三层体系结构,在这种结构下,表示层、功能层、数据层被分割成三个相对独立的单元:Web浏览器、具有应用程序扩展功能的Web服务器和数据库服务器。
三层的B/S体系结构是将两层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,将负荷均衡地分配给了Web服务器,这样客户机的压力大大减轻了,这种B/S三层体系结构如图1-3所示。
动静分离是将网站静态资源(html,css,js,img).与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。
静态资源如何部署:
我们需要一个公共的地方来存放我们的html–Web服务器(Web容器,Web站点).很好,于是我就找到了 nginx node tomcat
阿帕奇
winsever
等等都可以作为服务器.最后还是选择了nginx(要纯就纯干净点),之前用的node,不过node在一定意义上算是server端了。我们的目的是实现动静分离,如果业务需要,可以用node服务器写一些后端的业务逻辑代码。Nginx作为静态服务器是最佳的选择。也就是我们的应用服务器.这里对nginx就不多余的介绍了
前端开发(单页应用 Angular React Vue):
单页面应用,就是整站就一个index.html.url路由,前端状态管理都给了jser来操作。
后端开发(RestFul+json):
后端应用提供API,根据前端的请求进行处理,并将处理结果通过JSON格式返回至前端。
跨域处理:
动静分离因为静态资源和应用服务分别部署在不同的服务器上,因此会面临域名策略的选择。相同域名和不同域名。
详解:http://www.tuicool.com/articles/vUbIRfM
一.基本原理
CGI:通用网关接口(Common Gateway Interface)是一个 Web 服务器主机提供信息服
务的标准接口。 通过CGI 接口,Web 服务器就能够获取客户端提交的信息,转交给服务器端的CGI 程序进行处理,最后返回结果给客户端。
组成 CGI 通信系统的是两部分:一部分是 html 页面,就是在用户端浏览器上显示的页面。另一部分则是运行在服务器上的 Cgi 程序。
它们之间的通讯方式如下图:
标签:internet 应用程序 blank 互联网 target
原文地址:http://liuqicheng.blog.51cto.com/11714445/1843588