web基础知识(一)

一、web工作机制

 

        用户通过web浏览器,输入正常的URL(Union Resource Location),浏览器向web服务器发送请求,如果所请求(request)的是静态的HTML文件,则不经过其他处理,会直接进行返(response)给用户,当用户发送的请求为动态网页(比如:php,asp,jsp,等等),则会先经过web服务器,然后再通过中间件服务器进行处理之后,在到数据库中查找数据是否存在等操作,如果存在则将会将这些数据和html,xml,php,asp等进行组合之后形成用户所需要的页面返回给用户,网页文件是用文本描述的,HTML格式,在用户浏览器中有个解释器,把这些文本描述的页面恢复成图文并茂、有声有影的可视页面。

  web工作机制---中间件服务器

  由于静态网页不具有交互性,只能单向给用户展示信息。随着web的发展,信息要双向流动,产生交互的需求,也就是动态网页的概念;所谓动态就是利用flash、php、asp、Java等技术在网页中嵌入一些可运行的脚本,用户浏览器在解释页面时,遇到脚本就启动运行它。这些脚本可以嵌入在页面中,如JS等,也可以以文件的形式单独存放在Web服务器的目录在、里,如.asp、.php、.jsp文件等。这样功能性的脚本越来越多,形成常用的工具包,单独管理,web业务开发时,直接使用就可以了,这就是中间件服务器,他实际上是web服务器处理能力的扩展

  脚本的使用让web服务模式有了双向交流的能力,web服务模式也可以像传统软件一样进行各种事物处理,如编辑文件、利息计算、提交表单等,web架构的适用面大大扩展。

  web工作机制---数据库的使用

  静态网页与脚本都是事前设计好的,一般不经常改动,但网站上很多内容需要经常的更新,如新闻、博客文章、互动游戏等这些变动的数据存在静态的程序中显然不适合,传统的办法是数据和程序分离,采用专业的数据库。web开发者在web服务器后边增加一个数据库服务器,这些经常变化的数据存进数据库,可以随时更新。当用户请求页面时,脚本根据用户请求的页面,涉及到动态的地方,利用SQL数据库语言,从数据中读取最新的数据,生成“完整”页面,最后送给用户。

二、HTTP协议(HyperText Transfer Protocol)

  1. HTTP(超文本传输协议)

它于1990年提出,当前版本为HTTP/1.1

HTTP设计用来将超文本标记语言(HTML)文档从web服务器传送到web浏览器

HTTP是一种请求和响应协议:客户机发送请求,服务器对请求给出回应

HTTP使用可靠的TCP连接,默认使用80端口

  2.HTTP协议的特点

支持C/S模式

简单快速:客户向服务器请求服务时,只需传送请求方法和路径。

灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记

HTTP协议是无状态协议。无状态是指协议对于事物处理没有记忆功能。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这些可能导致每次连接传送的数据量增大。另一面,在服务器不需要先前信息时它的应答就较快。

  3.HTTP协议---URL

 

   4.HTTP协议---协议结构

 

   5.HTTP协议---Request

  HTTP请求由请求行、请求头、请求正文三部分组成

   -请求行:方法,URL,协议/版本(Method-URI-Protocol/Version)

   -请求头(Request headers)

 

 

 

 

   -请求正文(Entity body)

  6.HTTP协议---Response

  HTTP响应包含三个部分:状态行、响应头、响应正文

   -状态行:协议状态代码描述(Protocol-Status code Description)

    HTTP-Version  Status-Code  Reason-Phrase  

    HTTP-Version 表示服务器HTTP协议的版本;

    Status-Code  表示服务器发回的响应状态代码

    Reason-Phrase 表示状态代码的文本描述

   -响应头(Response headers)

   -响应正文(Entity body):服务器返回的资源的内容

  7.HTTP协议---请求方法

 

   8.HTTP协议---常见响应码

 

posted @   kalibb  阅读(403)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示