几个月没写教程了,今天登录看一下,账号还没被封,高兴之余写个http服务器demo。
http超文本传输协议,是互联网上应用最广泛的网络协议。它是应用层的协议,底层是基于TCP通信的。HTTP协议的工作过程:客户通过浏览器向服务器发送文档请求,浏览器将请求的资源回应给浏览器,然后关闭连接。即:连接->请求->响应->关闭连接。
我们基于http1.1版本编写,因为从零搭建的,所以我决定采用python写,当然我个人是搞java和python开发的,至于为啥不用java 。因为java写太麻烦。但是原理都一样,又不是汇编,有编程基础的人应该都懂。
关于tcp协议的三次握手和四次挥手,不介绍了,网上有太多详细的教程
关于线程,进程,协程,正则表达式,文件读写等等也不介绍了,这些基本的东西,自己弄懂后再看,不然我一个个讲清楚,得写好长好长。需要注意的代码前,我也有好好写注释,要是感觉我没说清楚的可以自己按照我的代码,自己试一下就懂了。纸上得来终觉浅,绝知此事要躬行
1.创建服务器套接字,并设定相关的参数
1.1关于bind()这个方法,ip地址不写,默认也就是本地环回地址127.0.0.1
1.2关于setsockopt()方法是为了防止,服务器先关闭,服务器本地资源暂存,导致address占用的问题。出现这个问题,和tcp四次挥手原理有关。当然实际中都是客户端先关闭