zoukankan      html  css  js  c++  java
  • web服务及http协议

    一、web服务

    1、web服务

         早期web服务使用http/0.9协议,仅支持纯文本(包括超链接)HTML;

         HTML:超文本标记语言,是专门用来开发超文本的开发语言;

         URI:统一资源标识符,用于定义全局范围内某一独立资源的命名方式;URI就像因特网上邮寄地址一样,在世界范围内唯一标识并定位信息资源。

         URL:统一资源定位符,是URI的子对象,用于描述在互联网上互联网资源的统一表示格式;

                    格式:协议://主机:(端口)/路径/文件

    2、web资源

          可以通过统一资源定位符唯一标记,能够让客户端访问的文件等资源,多个资源可能被整合为一个html文档。

          web服务器是web资源的宿主。web资源是web内容的源头。最简单的web资源就是web服务器文件系统中的静态文件。这些文件可以包含任意内容:文本文件、HTML文件、微软的word文件、Adobe的acrobat文件、JPEG图片文件、AVI电影文件,或所有其他你能想到的格式。

         但是资源不一定非得是静态文件。资源还可以是根据需要生成内容的软件程序。这些动态内容资源可以根据你的身份、所请求的信息或每天的不同时段来产生内容。他们可以为你现实照相中活生生的照片,也可以帮你进行股票交易,搜索房产数据库,或者从在线商店中购买礼物等。

    3、http方法

          http方法就是获取web资源的方法;

          http/1.0:GET、POST、PUT、DELETE等

          MIME:多用途互联网邮件扩展;将非文本数据在传输前重新编码为文本格式,接收方能够使用相反的方式将其重新还原为原来的格式,还能够调用相应的程序来打开此文件。            MIME只用作将文本与视频及图片进行转换。

    4、 web服务请求与响应简单过程

    5、web服务器的主要操作

    (1)建立连接----接受或拒绝客户端连接请求;
    (2)接收请求----通过网络读取http请求报文;
    (3)处理请求----解析请求报文并作出相应的动作;
    (4)访问资源----访问请求报文中相关的资源;
    (5)构建响应----使用正确的首部生成http响应报文;
    (6)发送响应----向客户端发送生成的响应报文;
    (7)记录日志----当已经完成http事物记录进行日志文件。

     二、http协议

    1、http协议基础

         http:超文本传输协议,默认情况下,http协议就是用来实现客户端到服务器端数据传输的;并且http协议默认只传输文本文件(数据流)。

    2、http的工作机制

        (1)首先会建立tcp连接,通过tcp80端口进行连接;

        (2)http发送请求

        (3)http响应

        注意:请求时非常多的。(前端语言将很多资源进行划分,而固定的服务器只能提供固定的资源,所以,很可能请求了一次,事实上生成了狠多进程。)

    3、多处理模块(MPM)

        http支持MPM,因为http提供的进程访问数量有限,所以,我们要启用一些访问机制,来处理高并发流量。

       (1)MPM支持三种模式:

           prefork----队列模式(默认模式)

           work-------多线程模式

           event------多线程并发处理模式(不稳定,不建议使用)

          prefork模式:这种模式采用预派生子进程的方式,他没有线程的概念,是多进程模式,一个子进程处理一个连接,稳定,响应快,每个子进程之间相互独立,但是每个进程都要占用内存,消耗系统的资源过高。

          work模式:一个进程会生成很多个线程,一个线程处理一个http的请求,相比prefork模式更加节内存资源,但是,当一个线程崩溃,整个进程就会连同其所有线程一同挂掉。

          event模式:一个线程可以处理多个请求。

        (2)如何修改MPM模式

           在/etc/sysconfig/httpd下修改:

              #HTTPD=/usr/sbin/httpd.worker       //去掉#即可

          修改完成要重新加载配置,才可以生效。

    4、http的版本

         HTTP/0.9  最早的被广泛采用的版本 原型版本,不支持多媒体内容,只支持纯文本传输。

         HTTP/1.0  第一个广泛使用的版本,现在依然被使用,能支持多媒体,但是缓存机制能力不足;

         HTTP/1.1 增强了缓存功能,当前使用的版本;

         HTTP/2.0  2001年就出来了,现在基于web的应用多数使用HTTP/2.0版本(新版本),它参考了谷歌的spdy协议,所以我们有理由相信HTTP/2.0会被广泛使用。

    5、cookie机制

         (1)原理

         (2)分类(存在客户端)

             永久cookie -- 把cookie值存在硬盘上(这里需要指定cookie的保存时间),存在硬盘中,有一个过期时间,除非用户手动清除或到了过期时间,否则硬盘中的cookie不会被删除,其存在时间是长期的。

             临时cookie -- 把cookie值保存在内存上(重启流量器即失效),内存cookie由浏览器维护,保存在内存中,当浏览器关闭之后就消失了,存在时间很短。

        (3)http请求和cookie交互过程

      

        (4)cookie的缺点

          cookie会被附加到每一个http请求中,增加了流量;

          在http传输过程中cookie是明文传输,所以很不安全;

          cookie限制在4KB左右,对于复杂的存储需求是不够用的。

    6、http模式(method)

         GET 普通的请求
         HEAD 之请求网站的头部信息
         POST 推送用户名或密码的时候使用的
         PUT 推送比较大的资源的时候使用的
         DELETE 发起删除对应资源的命令
         TARCE 容许客户端查看,被修改后的http请求报文(因为中间通过了代理服务器,而代理服务器会修改我们的请求表文)
         OPTIONS 客户端去咨询服务器端所能支持模式;
         还有其他很多的扩展模式 -- 例如:MOVE LOCK 等等。

    7、状态码(status)

        100-199 表示服务器信息回应 100 101
        200-299 表示成功的请求
           常见的--200 ok 201 create
        300-399 表示重定向
          301 请求的URL指向的资源已经被删除:但在响应报文中通过首部Location指明了资源现在所处的新位置;这个是永久重定向:Moved Permently
          302 与301相似,但是在响应报文中,通过Location指明了资源现在所处的临时新位置;Found
          304 客户端发出了条件式请求,但是服务器发现客户端的缓存资源未曾发生改变,则通过响应状态码通知客户端:Not Modified
        400-499 客户端错误状态码
          401 需要输入账号和密码认证方能访问资源,Unauthorizad
          403 请求被禁止:forbidden
          404 服务器无法找到客户端请求的资源:Not Found
        500-599 服务器端错误
          500 服务器内部错误:Internal Server Error
          502 代理服务器从后端服务器收到一条伪响应,Bad Gatway

  • 相关阅读:
    抽奖系统 random()
    JavaScript 稀奇的js语法
    Node初识笔记 1第一周
    vue 自定义指令
    vue 组件 单选切换控制模板 v-bind-is
    学习网址
    vue 组件 子向父亲通信用自定义方法用事件监听
    vue 组件 模板中根数据绑定需要指明路径并通信父
    vue 组件 模板input双向数据数据
    测试样式
  • 原文地址:https://www.cnblogs.com/hmm01031007/p/11582918.html
Copyright © 2011-2022 走看看