天天看点

HTTPD 工作原理

http :HyperText Transer Protocol 超文本传输协议

超链接:能够在文档间跳转的文本,而这些链接我们称之为超链接

URI:能够很好的让客户端去识别网上不同文档的一种机制;统一资源标识符;可以在全球唯一引用某一资源的命名方式。

URL:统一资源定位符

MIME:多用途互联网邮件扩展

SMTP:简单邮件传输协议、纯文本

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

    Base64就是一种文本编码格式

动态效果:

      Java,Applet,JRE

动态网页:

      在服务器端存放的文档非HTML格式,而是编程语言开发的脚本,脚本接受参数之后在服务器运行一次,运行完成之后会生成HTML格式的文档,并且把生成的文档发给客户端;

    包含静态内容,和动态内容。动态内容部分需要在内核空间运行,生成html文档一并返回客户端

在客服端发出请求通过服务器解析FQDN(主机名).

HTTP报文:

     请求报文:

        资源获取方法:<method>

         你请求的资源是什么:<request-URL>

         对应请求资源协议的版本号:<version>

         httpd协议的首部:<headers>

书写格式如下:

        <method> <request-URL> <version>

        <headers>

        <entity-body>  报文主体

     相应报文: 

         <version> <status>状态码 <reason-phrase>

          <headers>  响应报文首部

          <entity-body> 报文主体        

状态代码:

  1××:纯信息

  2××:成功类状态码    (200正常相应;reason-phrase告诉你201;202是如何成功的)

  3××:重定向类的信息  (301:永久重定向;302:临时类重定向;304:没有发生任何改变)

  4××:客户端错误泪信息(404:请求了一个没有文件;)

  5××:服务器端错误信息(5开头)

#########################################################################

请求报文:

    GET / HTTP/1.1  请求主页

    HOST: www.mageedu.com 明确说明是哪台主机

    Connection:keep-alive

响应报文:

    HTTP/1.1 200 OK  (协议版本  200正常相应 ok告诉你请求的报文存在)

    X-Powered-By:PHP/5.2.17 (说明首部  是通过PHP解释器解析的 )

    Vary:Accept-Encoding,cookie,User-Agent (一些其他类标记变化的内容)

    Cache-Control:max-age=3,must-revalidate (控制你的客户端能不能缓存)

    Content-Encoding:gzip (内容编码机制,先压缩后传输的)

    Content-Length:6931 (标记内容有多长)

 ###############################################################

Web服务器的主要操作

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

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

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

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

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

   6、发送相应-向客户端发送生成的相应报文;

   7、记录日志-当已经完成的HTTP事务记录进日志文件

#################################################################

 浏览器垃圾不要随便删,那是增加性能的

#################

http/1.1;

    增强了缓存的功能

#############

server模型

单线程:

    来五个人一个一个排队,一个一个响应

多线程:

    他自己不处理,生成一个子进程去处理,并发能力增加,访问量不大可以用

单进程相应多个请求:

多进程响应多个请求:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4

常用浏览器:IE

            Firefox

            Chrome

            Opera

            Safari

常用web服务器

          Apache->httpd

          IIS 应用程序服务器

          nginx

          lighttpd

          thttpd

应用程序服务器:

           IIS

           tomcat(apache 开源)

           Websphere(IBM JSP)       

           Weblogic (Oracle,JSP,commodity)

继续阅读