web服务中重要的知识点

HTTP:超文本传输协议,默认为TCP80端口。带有超级链接的文本,而这些链接成为超链接!

loadrunner :专业级测试工具,模拟你的应用程序的真实,进行评测!

HTML:超文本编辑语言。

HTML文档:实现将这些分散在多台web服务器上的资源整合成一个页面,并能够让浏览器显示的。

 

URI:统一资源标识符,用以定义可以在全局范围内唯一引用某一个独立的资源的命名方式!包括但不唯一引用互联网。

    去标记唯一的定位一种资源访问路径的方式,路径格式上的统一。

URL:统一资源定位符统一资源标识符的子对象,统一资源定位符!用于描述在互联网上互联网资源的统一表示格式。

      URL路径与本地路径不是一码事。

      URL是相对于httpd配置文件中的DocumentRoot路径而言的,相对路径。

怎么去表示?

指明去获取资源的协议://指定服务器在什么主机上:指定在主机那个端口去获取/对应服务器上的路径/文件

       http://www.baidu.com/sun/sun/txt

web资源/web对象:通过统一资源定位符唯一的标记标记他,并且能够让客户端去访问它的文件!

                   多个资源很可能被整合为一个HTML文档!

 

Apache是世界使用排名第一的Web服务器软件

httpd是Apache超文本传输协议(HTTP)服务器的主程序。

资源获取的方式/http方式:

   MIME:多用途邮件扩展,将非文本数据在传输前重新编码为文本格式,接收方能够用相反的方式将其重新还原为原来的格式,还能用对用的程序打开此文件。

   SMTP:简单邮件传输协议,只能传输纯文本,

index.heml:引用nweb对象,URL

监听:监听在某一个端口上,等待客户端来请求。一旦用户来了,内核才知道用户来访问。

 

三种模型支持的并发连接数

prefork MPM :一个进程响应一个请求,最多1021

worker MPM :一个线程响应一个进程,多进程,一个进程生成多个线程,

event MPM :基于事件驱动,比上面那两个要好

 

 

HTTP报文 ---->请求报文 ,响应报文。

  http首部:

    GET /....      :要获取那个文件

    HOST:主机名  :要获取那个主机上的资源

 

请求报文的格式(客户端请求)

起始行  <method> :资源获取方法    <request-URL>:你请求的资源是什么(路径)  <version>:对应请求协议的版本号(1.0/0.9

报文首部  <headres>:http协议首部

空白行

<entity-body>:报文主体(报文内容)

 

响应报文的格式(服务器响应)

起始行  <version>:对应的版本   <status>:状态代码   <reason-phrase>:详细解释状态代码返回的信息

报文首部<headers>:响应报文首部

空白行               空白行

报文主题  <entity-body>:报文主体(报文内容)

 

状态代码 (你请求的结果是正确的还是失败的?)5类!

   1xx:纯信息

   2xx:成功类状态信息,请求内容成功。

         200:请求内容正常

   3xx:重定向类信息,你请求的内容存在,但被挪到其他地方去了。

         301:永久挪到其他地方

         302:临时重定向

         304:没有发生任何改变

   4xx:客户端错误类信息

         404:请求了一个不存在的文件

   5xx:服务器端错误类信息


web服务器的主要操作

1、建立连接----->接受或拒绝客户端连接请求

2、接受请求----->通过网络读取HTTP请求报文

3、处理请求-----> 解析请求报文并做出相应的动作

4、访问资源-----> 访问请求报文中相应的资源

5、构建响应-----> 使用正确的首部生成http响应报文

6、发送响应----->向客户端发送生成的响应报文

7、记录日志----->把已经完成的http事务记录进日志文件

 

缓存:每一个资源都要单独请求一次,(每张照片、每个超链接),所以,我们的服务器都是多线程的。将访问的东西都缓存到本地,第二次打开时会非常快。

http0.9版本:引入了MIME功能+

http1.1版本:加强缓存管理功能,引入长连接

              长连接:客户端和服务器之间获取一个资源之后不断开,持续获取之后的资源,获取资源时间减少。

                         限定:1、空闲超时,若你请求完第一个、第二个资源之后再也不请求了,就让你断开,让后面人获取资源。

                               2、最多让你请求多少次

服务器处理模型(多道处理模块)

单线程服务器模型:有多个客户端请求,服务器处理完一个请求报文之后再处理第二个,依次执行。

多线程服务器模型:有多个客户端请求,服务器进程不直接响应给客户端,他只接受客户端请求。第一个请求来了,服务器自己不响应,

                   他生成一个子进程,让子进程去处理,第二个客户端请求,再次生成一个子进程,让新的子进程处理。服务器本身只接

                   收请求,让子进程去处理。

多进程,多线程:有一个主进程,和好多子进程,每个进程都能同时处理多个请求.


猜你喜欢

转载自blog.51cto.com/10784316/2425139
今日推荐