web服务器的建立(一)

对于服务器,我在网上看了很多的例子,做的都很完善,但是学习价值并不是很高。
所以我做一个具有学习意义的服务器
在这里插入图片描述
如上图,网络通信以冯诺依曼体系为基础,通过在应用层运行进程,进而间接性操作操作系统,达到网络通信的目的。

对于这个项目的基础架构,分三步:
1,选择http协议作为本项目通信协议(http具有代表性);
2,对请求接收,分析;
3,构建响应,对请求的资源提供相应响应,以及请求错误时的响应404页面;

对于http请求报文的分析:
在这里插入图片描述
将请求报文分为四部分:
1,第一行(请求行):请求方法+“ ”+URL+" "+HTTP协议及版本;
2,第二行~空行前(报头):正文数据的属性;
3,空行;
4,请求正文;

先对请求行进行分析:
请求方法:GET、POST、PUT、HEAD、DELETE…
在我这个项目仅对GET和POST进行分析处理,因为浏览器常用的两个方法,其次,这两个方法具有代表性。
GET:有三部分或四部分,正文可有可无,视情况而定,该方法一般用于获取资源
GET / HTTP/1.1
若是带参数则直接跟在url里且以“?”开头(以明文直接出现在网址中,不安全),如:GET /?a=100 HTTP/1.1
POST:有四部分,如果有参数,则随正文中发送(相对安全)

什么是URL呢?
URI,uniform resource identifier,统一资源标识符,标识一个资源;
URL,uniform resource locator统一资源定位符,一种具体的URI,URL指明如何locate这个资源;
在这里可以直接跟随资源,如:GET /a.html HTTP/1.1

讲到这里就需要认识DNS
在这里插入图片描述
在http图解中形象的解释了DNS的作用,你告诉我网址,我告诉你ip地址,为了偷懒所以有了DNS,相对而言,192.168.1.1和www.baidu.com明显后者好记(仅为说明情况,百度网址不是192.168.1.1);项目中跳过DNS直接输入ip地址,但是我们需要知道网络是会经过域名转换的;

接着我会根据请求构建相应响应

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值