C语言构建WEB管理系统(一):了解http协议

【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】

既然要讲web开发就离不开HTTP协议,http协议是web的核心。HTTP定义Web客户(即浏览器)如何从web服务器请求Web页面,以及服务器如何把Web页面传送给客户。当用户请求一个Web页面(譬如说点击某个超链接)时,浏览器把请求该页面中各个对象的HTTP请求消息发送给服务器。服务器收到请求后,以运送含有这些对象HTTP响应消息作为响应。

        一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符 (URL) 、协议版本号,后边是MIME (多用途的网际邮件扩充协议) 信息,包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息,包括服务器信息、实体信息和可能的内容等。

下面是一个典型的HTTP请求消息:
GET /index.html HTTP/1.1    
Host:www.shallnet.cn
Connection:close
User-agent:Mozilla/4.0
Accept-language:zh-cn
\r\n
        上面第一行为请求行,由三个标记组成:请求方法、请求URI和HTTP版本,它们用空格分隔。
        中间几行为请求头标 由“关键字:值”对组成,每行一对,关键字和值用冒号(:)分隔。请求头标通知服务器有关于客户端的功能和标识,典型的请求头标有:
User-Agent          客户端厂家和版本
Accept                 客户端可识别的内容类型列表
Content-Length    附加到请求的数据字节数
        最后一个请求头标之后是一个空行,发送回车符和退行,通知服务器以下不再有头标。
        如果使用POST传送数据,最常使用的是Content-Type和Content-Length头标。
        
        Web服务器解析请求,定位指定资源。服务器将资源副本写至套接字,在此处由客户端读取。一个响应由四个部分组成;状态行、响应头标、空行、响应数据。
下面是一个典型的HTTP响应消息:
HTTP/1.1 200 0K
Connectlon:close
Date: Thu, 13 Oct 2005 03:17:33 GMT
Server: Apache/2.0.54 (Unix)
Last—Nodified:Mon,22 Jun 1998 09;23;24 GMT
Content—Length:682
Content—Type:text/html
(data data data…………)

        第一行为状态行,由三个标记组成:HTTP版本、响应代码和响应描述。HTTP版本:向客户端指明其可理解的最高版本。响应代码:3位的数字代码,指出请求的成功或失败,如果失败则 指出原因。响应描述:为响应代码的可读性解释。
        中间几行为响应头标:像请求头标一样,它们指出服务器的功能,标识出响应数据的细节。
        最后一个响应头标之后是一个空行,发送回车符和退行,表明服务器以下不再有头标。
        最后为响应数据:HTML文档和图像等。
        http协议的每一次请求和响应都是相对独立的,一般而言,一个URL对应着唯一的超文本,无论对谁,HTTP服务器都会根据接收到的URL请求返回相同的超文本,所以HTTP模型是无状态的,在处理一个请求时,Web服务器并不记住来自同一客户端的请求。
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值