接口和协议

本文探讨了软件开发中的两种结构,重点介绍了C/S(客户端-服务器)结构及其优势,如交互性强、安全的存取模式和快速响应速度。同时,文章也提及了POST请求在HTTP中的使用,对比了GET请求的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1. 软件开发的两种结构 
1.1Cs(Client/Server):客户端----服务器结构

C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。 CS的优缺点 能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以CS客户端响应速度快。 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。 C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。 安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜

是目前应用系统的发展方向。 BS 是伴随着 Internet 技术的兴起,对 C/S 架构的改进,为了区别于传统的
C/S 模式,特意称为 B/S 模式。在这种结构下,通过 W3 浏览器来进入工作界面,
BS 的优缺点
优点:分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理
          业务扩展简单方便,通过增加网页即可增加服务器功能。
          维护简单方便,只需要改变网页,即可实现所有用户的同步更新
          开发简单,共享性强。
缺点:个性化特点明显降低,无法实现具有个性化的功能要求
        在跨浏览器上, BS 架构不尽如人意
        
客户端服务器端的交互是请求 - 响应模式,通常动态刷新页面,响应速度明显降低( Ajax 可以一
定程度上解决这个问题)。
        在速度和安全性上需要花费巨大的设计成本
        功能弱化,难以实现传统模式下的特殊功能要求
HTTP协议
        什么是HTTP协议
                
HTTP 协议是 Hyper Text Transfer Protocol (超文本传输协议)的缩写 , 是用于从万维网( WWW:World
Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP 是一个客户端和服务器端请求和应答的标准,客户端是终端用户,服务器端是网站。
我们在浏览器的地址栏里输入的网站地址叫做 URL (Uniform Resource Locator ,统一资源定位符 ) 。就
像每家每户都有一个门牌地址一样,每个网页也都有一个 Internet 地址。当你在浏览器的地址框中输入
一个 URL 或是单击一个超级链接时, URL 就确定了要浏览的地址。浏览器通过超文本传输协议
(HTTP) ,将 Web 服务器上站点的网页代码提取出来,并翻译成漂亮的网页
        

 

HTTP URL
HTTP 使用统一资源定位符( Uniform Resource Identifiers, URI )来传输数据和建立连接。 URL 是一种
特殊类型的 URI ,包含了用于查找某个资源的足够的信息
URL, 全称是 UniformResourceLocator , 中文叫统一资源定位符 , 是互联网上用来标识某一处资源的地
址。以下面这个 URL 为例,介绍下普通 URL 的各部分组成:
http:// www.aspxfans.com :8080/news/index.asp?boardID=5&ID=24618&page=1#name
从上面的 URL 可以看出,一个完整的 URL 包括以下几部分:
1. 协议部分: URL 的协议部分为“ http :”,这代表网页使用的是 HTTP 协议。在 Internet 中可以使用
多种协议,如 HTTP FTP 等等本例中使用的是 HTTP 协议。在 "HTTP" 后面的“ // ”为分隔符
2 . 域名部分 :该 URL 的域名部分为“ www.aspxfans.com ”。一个 URL 中,也可以使用 IP 地址作为域名
使用
3. 端口部分 :跟在域名后面的是端口,域名和端口之间使用“ : ”作为分隔符。端口不是一个 URL 必须
的部分,如果省略端口部分,将采用默认端口
4 . 虚拟目录部分 :从域名后的第一个“ / ”开始到最后一个“ / ”为止,是虚拟目录部分。虚拟目录也不
是一个 URL 必须的部分。本例中的虚拟目录是“ /news/
5 . 文件名部分 :从域名后的最后一个“ / ”开始到“?”为止,是文件名部分,如果没有“ ? , 则是从
域名后的最后一个“ / ”开始到“ # ”为止,是文件部分,如果没有“?”和“ # ”,那么从域名后的最
后一个“ / ”开始到结束,都是文件名部分。本例中的文件名是“ index.asp ”。文件名部分也不是一个
URL 必须的部分,如果省略该部分,则使用默认的文件名
6. 锚部分:从“ # ”开始到最后,都是锚部分。本例中的锚部分是“ name ”。锚部分也不是一个 URL
必须的部分 7 . 参数部分: 从“?”开始到“ # ”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的
参数部分为“ boardID=5&ID=24618&page=1 ”。参数可以允许有多个参数,参数与参数之间用“ &
作为分隔符
HTTP1.0和HTTP1.1的区别
        
一个 WEB 站点每天可能要接收到上百万的用户请求,为了提高系统的效率, HTTP 1.0 规定浏览器与服
务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个 TCP 连接,服务器完成请求处理后
立即断开 TCP 连接,服务器不跟踪每个客户也不记录过去的请求 。但是,这也造成了一些性能上的缺
陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明了这些图
像的 URL 地址,当 WEB 浏览器访问这个网页文件时,浏览器首先要发出针对该网页文件的请求,当浏
览器解析 WEB 服务器返回的该网页文档中的 HTML 内容时,发现其中的 <img> 图像标签后,浏览器将
根据 <img> 标签中的 src 属性所指定的 URL 地址再次向服务器发出下载图像数据的请求

 

显然,访问一个包含有许多图像的网页文件的整个过程包含了多次请求和响应,每次请求和响应都需
要建立一个单独的连接,每次连接只是传输一个文档和图像,上一次和下一次请求完全分离。即使图
像文件都很小,但是客户端和服务器端每次建立和关闭连接却是一个相对比较费时的过程,并且会严
重影响客户机和服务器的性能。当一个网页文件中包含 Applet JavaScript 文件, CSS 文件等内容
时,也会出现类似上述的情况。
为了克服 HTTP 1.0 的这个缺陷, HTTP 1.1 支持持久连接,在一个 TCP 连接上可以传送多个 HTTP 请求和
响应,减少了建立和关闭连接的消耗和延迟 。一个包含有许多图像的网页文件的多个请求和应答可以
在一个连接中传输,但每个单独的网页文件的请求和应答仍然需要使用各自的连接。 HTTP 1.1 还允许
客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请
求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样也显著地减少
了整个下载过程所需要的时间。基于 HTTP 1.1 协议的客户机与服务器的信息交换过程

 

可见, HTTP 1.1 在继承了 HTTP 1.0 优点的基础上,也克服了 HTTP 1.0 的性能问题。不仅如此, HTTP
1.1 还通过增加更多的请求头和响应头来改进和扩充 HTTP 1.0 的功能。例如,由于 HTTP 1.0 不支持
Host 请求头字段 WEB 浏览器无法使用主机头名来明确表示要访问服务器上的哪个 WEB 站点,这样就
无法使用 WEB 服务器在同一个 IP 地址和端口号上配置多个虚拟 WEB 站点 。在 HTTP 1.1 中增加 Host 请求
头字段 后, WEB 浏览器可以使用主机头名来明确表示要访问服务器上的哪个 WEB 站点,这才实现了在
一台 WEB 服务器上可以在同一个 IP 地址和端口号上使用不同的主机名来创建多个虚拟 WEB 站点。 HTTP
1.1 的持续连接,也需要增加新的请求头来帮助实现,例如, Connection 请求头的值为 Keep-Alive
时,客户端通知服务器返回本次请求结果后保持连接; Connection 请求头的值为 close 时,客户端通
知服务器返回本次请求结果后关闭连接 HTTP 1.1 还提供了与身份认证、状态管理和 Cache 缓存等机
制相关的请求头和响应头
HTTP请求:客户端连上服务器后,向服务器请求某个 web 资源,称之为客户端向服务器发送了一个 HTTP 请求
HTTP请求方式:
HTTP1.0 定义了三种请求方法: GET, POST HEAD 方法。
HTTP1.1 新增了五种请求方法: OPTIONS, PUT, DELETE, TRACE CONNECT 方法。
GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于 get 请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。
POST 请求可能会导致新的资源的建立和 / 或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断
常见的http请求:get和post
1.1get请求

1.2post请求

 

get和post请求的区别

1 GET 将参数放在URL中。而 POST 将数据放在 BODY 中。
2 GET URL 会有长度上的限制,而 POST 的数据则可以非常大。
3 POST相 GET更 安全,因为数据在地址栏上不可见。
4 、一般 get 请求用来获取数据, post 请求用来发送数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值