• gsweb —— 理解HTTP协议


    为了实现gsweb,理解HTTP协议是我们一步需要做的事情:

    按字面理解HTTP是用于超文本的传输协议它的最常用版本由RFC2616定义,这里有它的中文版翻译。那什么是超文本了?下面是收录的必应网典的解释:

    超文本(Hypertext)是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。超文本更是一种用户介面范式,用以显示文本及与文本之间相关的内容。现时超文本普遍以电子文档的方式存在,其中的文字包含有可以链接到其他字段或者文档的超文本链接,允许从当前阅读位置直接切换到超文本链接所指向的文字。超文本的格式有很多,目前最常使用的是超文本标记语言(Hyper Text Markup Language,HTML)及富文本格式 (Rich Text Format,RTF)。我们日常浏览的网页上的链结都属于超文本

    现代的HTTP协议已经超越了它最初的定义,特别是RESTful流行起来以后。它越来越被当做一种网关协议来使用。不仅浏览器使用它来获取WEB页面,很多移动互联网应用也将它做为首选通讯协议;现在让我们带上WEB服务器设计师的帽子,从这个角度来考虑一下问题:

    • 需要实现哪些HTTP方法?
    • 根据Request-URI如何分发请求?
    • HTTP协议头的哪些信息是需要重点关注的,哪些是可以忽略的?
    • gsweb应该是一个无状态服务,还是有状态服务?

    这篇文章,我们首先来关注前两个问题:

    HTTP方法

    根据经典的RESTful架构风格的描述,看来只要实现下面几种方法就OK了:

    • GET
    • POST
    • PUT
    • DELETE

    顺带说一句根据RESTful字面意思,我们知道这是处理资源状态转换的架构,另一方面HTTP协议又是一个无状态协议。纠结的地方来了——绝大部分的RESTful的实践都是通过HTTP协议来完成的oz。后面准备开单章吐槽下这部分内容。另外这里有篇文章对RESTful风格的架构有比较好的描述

    URI

    统一资源定位符,它的使用范围并不局限于HTTP协议。在HTTP协议中,它最初应该是被直接映射成远程服务上的磁盘文件路径。经过这么多年HTTP的发展,HTTP协议中的URI已经回归了它的本来含义:统一资源定位符。这里的资源可以是文本、HTML页面、MP3更或者是一个网络服务。

    Request-URI的路径信息只对静态文件类型资源有意义。对于服务类资源它最多只是一个站点内提供的
    所有服务集合的主键。

    资源类型分类

    今天先写到这里,后面在MIME章节详细描述这部分内容

  • 相关阅读:
    机器学习基础1--线性回归
    联想RD350板载RAID110i,安装CentOS 7 不识别RAID设备
    CentOS 7磁盘寻找不到,卡在sulogin,造成的开机失败问题--Error getting authority...
    gitlab同步插件gitlab-mirrors报错<已解决,未找到原因>
    马哥Linux SysAdmin学习笔记(四)
    马哥Linux SysAdmin学习笔记(三)
    马哥Linux SysAdmin学习笔记(二)
    马哥Linux SysAdmin学习笔记(一)
    php-round()四舍六入
    Linux权限问题(2)-unzip引发的权限问题
  • 原文地址:https://www.cnblogs.com/yayanyang/p/4437778.html
Copyright © 2020-2023  润新知