首页 > 代码库 > Apache功能和网站的基础结构
Apache功能和网站的基础结构
一,MIME
MIME(MultipurposeInternet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
它是一个互联网标准,扩展了电子邮件标准,使其能够支持:
非ASCII字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Headerinformation)。
这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822转变而来的RFC 2822,这些旧标准规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息原本都不能在电子邮件中传输(MIME可以)。MIME规定了用于表示各种各样的数据类型的符号化方法。 此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型。
作用:MIME意为多目Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。
其实就是作为附件进行大数据传输!
详细信息:http://baike.so.com/doc/1062163-1123665.html
二,http的请求方法
HTTP使用内容类型,是指Web服务器向Web浏览器返回的文件都有与之相关的类型。所有这些类型在MIME Internet邮件协议上模型化,即Web服务器告诉Web浏览器该文件所具有的种类,是HTML文档、GIF格式图像、声音文件还是独立的应用程序。大多数Web浏览器都拥有一系列的可配置的辅助应用程序,它们告诉浏览器应该如何处理Web服务器发送过来的各种内容类型。
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:
(1) 建立TCP连接
在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80
(2) Web浏览器向Web服务器发送请求命令
一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令
例如:GET/sample/hello.jspHTTP/1.1
(3) Web浏览器发送请求头信息
浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。
(4) Web服务器应答
客户机向服务器发出请求后,服务器会客户机回送应答,
HTTP/1.1 200 OK
应答的第一部分是协议的版本号和应答状态码
(5) Web服务器发送应答头信息
正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。
(6) Web服务器向浏览器发送数据
Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据
(7) Web服务器关闭TCP连接
一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码
Connection:keep-alive
TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
详细信息:http://wenku.baidu.com/view/a8293a6c7e21af45b307a877.html
三,ssl和https的区别
是以安全为目标的HTTP通道,简单讲是HTTP的安全办,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL,他是一个URL scheme (抽象标识符体系),句法类同HTTP:体系。用于安全的HTTP数据传输,这个系统的最初研发有网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面
SSL介绍:
SSL安全套接层协议(Secure Sochet Layer)为Netscape所研发,用以保障在Internet上数据传输安全,利用数据加密(Encryption)技术,可确保数据在网络上传输过程中不会被截取以及窃听,目前一般通用规格40bit安全标准,美国已推出128bit更高的安全标准,但限制出境,只要3.0版本以上的IE或Netscape浏览器即支持SSL。
SSL位于协议Tcp/IP协议与各种应用层之间,是一种国际标准的加密以及身份认证通讯协议,为Tcp提供一个可靠的端到端的安全服务,为俩个通讯个体之间提供保密性和完整性,SSL协议可分为SSL记录协议与SSL握手协议。
详细信息:http://wenku.baidu.com/view/984e5d1255270722192ef754.html
四,Web服务器的工作模式
Web服务的工作原理是各公司从注册表(ebXML或UDDI的注册表)获得发布信息,建立满足要求的执行过程,然后向注册表发布它们的服务。以后,其他公司发现注册表中列出的一项服务,同意已制定的标准,然后开展业务。一旦在标准上取得一致并且约定的规则得到满足,应用程序就可以接管交易处理,因而从开展业务的开销中去除了人工互动。在这种模型中,通过利用现有基础设施,应用可以交换有关公司希望提供和消费的服务的信息。此外,应用还可以查询注册表,查找可以以更优惠条件提供同样服务的其他应用(公司)。
详细信息:http://www.tuicool.com/articles/FvYFBzR
五,CGI:公共网关接口
CGI(CommonGateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。
Httpd返回的状态码
1)HTTP常见状态码。
1xx:信息性状态码
100:请求继续
101:转换协议
2xx:成功状态码
200:ok,表示请求没有问题。
201:created,创建服务器对象的请求。
202:Accepted,请求已被接受。单服务器还未执行任何动作。
203:Non-Authoritative Information,实体首部。
204:No Content,响应报文中包含若干首部和一个状态行,但没有实体的主体部分。
205:Reset Content,主要用于浏览器的代码,负责告知浏览器清除当前页面中的所有html表单元素。
206:Partial Content,成功执行了一个部分或Range范围请求。
3xx:重定向状态码。
301:move permanently,永久重定向,在响应报文中使用首部“location:URl”
302:found,临时重定向,在响应报文中使用首部“location:URL”指定临时资源位置。
303:not modified,条件是请求中使用。
304:Not modified,客户端可以通过所包含的的请求首部,使其请求变成有条件的。
305:Use Proxy,必须通过一个代理来访问资源。
4xx:客户端类的错误状态码。
400:Bad Request,用于告知客户端它发送了一个错误的请求。
401:Unauthorize 认证。
402:Payment Required 保留还未使用。
403:Forbidden,请求被服务器拒绝。
404:not found,服务器无法找到请求的url。
405:Method not allowed,不允许使用此方法请求响应的url。
406:Not Acceptable,服务器于客户端没有可接受的url相匹配的资源。
407:Proxy Authentication Required,对资源要求进程认证的代理服务器。
408:Request timeout,请求超时的状态码。
409:Conflict,请求资源时引发的一些冲突。
5xx:服务器端类的错误。
500:Internal Server Error,服务器内部错误。
501:Not Implemented,客户端发起的请求超出服务器的能力范围。
502:Bad gateway,代理服务器从上游收到了一条假响应。
503:Service Unavailable,服务器此时无法提供服务。
Apache功能和网站的基础结构