zoukankan      html  css  js  c++  java
  • HTTP协议和web工作原理

    本章学完之后能干什么?
    要把 知识点学好,那就需要把它相关的周边知识点了解全面
    HTTP协议是web学习的核心!!!
    学东东切忌只学配置,不学原理:只学会框架有什么用,要会自己写框架!!
    web学习直接关系到J2EE的学习
    一、HTTP 超文本传输协议 人类之所发展得如此快,就是因为有自己的语言
           1、所谓超文本:即纯文本语言,不依赖于任何特定语言,任何语言都可以操作它(如java、c++)
           2、传入:HTTP的应用价值在于传输
           3、HTTP是无状态协议
            基于请求/响应模型
            服务器和客户端的交互仅限于请求/响应过程,结束之后便断开,在下一次请求服务器会认为新的客户端
    二、要真正理解web工作原理,就必须彻底了解http协议
    三、HTTP请求信息(浏览器信息)
           1、请求行:GET/POST(流的组织(请求)方式) URL(地址+目录) 版本号
           2、请求头:Host:客户端IP和端口
             User-Agent:浏览器信息
             Accept:客户端能接收的数据类型
             Accept-encoding:是否支持压缩的流
             Accept-charset:客户端字符编码集
           3、空行:分割请求头和消息体
           4、消息体:请求的参数
    四、HTTP响应信息(服务器信息)
           1、状态行:HTTP版本  服务器状态(比如:404找不到...) 描述信息
           2、响应头
            content-text:服务器发送信息的类型
            date:发送时间
            server:服务器类型
           3、消息体:服务器发送给客户端的页面内容
    五、模型
           客户端-----通过socket建立连接-----服务器
           客户端-----请求----->服务器
           客户端<-----响应-----服务器
           客户端-----断开-----服务器
           下一次连接.......
    六、传统服务器
           缺点:无法生成动态页面
            于是加入一个辅助应用:通过客户端提交的参数来选择服务类型
    七、辅助应用
           1、在获取请求之后先执行一段代码,再返回页面
           2、根据客户端请求参数来调用辅助应用
           3、类似word文档,需要注册(注册表)
    八、对于服务器的缺点的解决方案
           1、最早的解决方案:CGI通用网关接口(一种与外部程序通讯的标准)
             原理:web服务器调用外部程序,再将返回的结果返回客户端
             CGI的缺点:每次客户端请求都要在服务器上开启一个进程,这样会大大消耗服务器资源
              更好的解决方案是:开启服务器进程一次,就处理所有请求
           2、java的解决方案(解决CGI的缺点:其实CGI是现在web服务器的鼻祖):servlet+web容器
              servlet是一个与平台无关的java接口
              理解servlet,是掌握javaweb编程的核心
              sevlet受控于另一个java应用程序,它就是web容器
              servlet+web容器:为每个请求开启一个线程,线程占用进程的一部分
              sevlet没有main方法,说明它要被别的类web容器调用
              servlet到web容器需要用xml文件注册,而xml的解析由web容器封装
    九、web容器对servlet的支持包括:
           1、通讯支持:解析流,封装请求/响应对象
           2、生命周期管理:我们书写的servlet由容器来调用,也就是sevlet的产生和消亡生命周期
           3、多线程支持:解决线程同步,开启关闭等,由容器厂商来做
           4、JSP支持:翻译页面
           5、处理安全性:处理异常等等,比如:servlet抛出异常,由web容器来处理
           总结:web容器主要是用于,给处于容器中的应用程序组件(servlet、jsp)提供一个环境,
           使sevlet和jsp直接和容器中的环境变量交互。
           这样我们就可以把注意力放在,用servlet实现业务逻辑上,不必为
           系统底层服(如线程管理,安全性和网络通信等)务编写代码。
    十、web容器的实现
           根据sevlet的规范来实现web容器
           servlet规范之定义了一个容器必须实现的标准功能。那么不同的容器厂商就有了更多的容器实现选择:
           Tomcat
           Jboss
           WebLogic
           WebSphere
           Orecle9i AS

    转载地址:http://blog.sina.com.cn/s/blog_4b5bc0110100ftgp.html

  • 相关阅读:
    利用python在windows环境下爬取赶集网工作信息。
    扔骰子
    python 输入英语单词,查看汉语意思
    获取指定日期的上一个月日期
    爬取代理IP,并判断是否可用。
    递归实现 十进制转换其他进制(2-16)
    特殊回文数
    python 实现无序列表
    python 实现剪刀石头布(三局两胜)
    python 实现简单语音聊天机器人
  • 原文地址:https://www.cnblogs.com/smght/p/4810271.html
Copyright © 2011-2022 走看看