在Linux下我们使用HTTP协议进行通讯,即客户端在浏览器请求服务器的某个服务(页面)。我们在主机上进行测试的时候,可以开启httpd服务以处理客户端的请求,一般来说我们的页面放在/var/www/html底下,我们这些操作需要切换到root用户。
开启httpd服务 : service httpd start
查看httpd状态 : service httpd status
关闭httpd服务 : service httpd stop
可以看出我不在root用户是开启不了httpd服务滴,所以我们切换到root用户在开启一次。
现在httpd服务已经开启了,我们再来看看我的/var/www/html底下我自己写了一个静态的html页面
我们接下来用火狐浏览器请求一下我主机上的这个index.html页面,看看会不会将页面给我返回。
可以看出httpd将我们请求的这个index页面给我返回了,那么关于httpd这个服务器怎么实现呢?我们一起来看看
HTTP服务器解析
我们知道http是应用层的协议,它默认使用的传输层协议是tcp,现在我们来模拟一下http的服务器书写。
首先应注意的是TCP连接从建立到关闭的过程中,客户端(浏览器)仅给服务器发送了一个HTTP请求(比较小),而服务器会将客户端请求的页面响应传给客户端:,在浏览器上显示)
HTTP请求
第一行是请求行,剩下这2-4行是请求头部。
1:请求行
由3部分组成,分别为&#