web服务器
http
http的请求方法
在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器需要执行的动作(获取指定的web页面,提交内容到服务器,删除服务器上的资源文件等)
序号 | 方法 | 描述 | |
---|---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体 | |
2 | HEAD | 类似于get请求,但不返回具体的内容(用于获取包头) | |
3 | POST | 向指定资源提交数据进行处理请求(提交表单上传文件),数据包含在请求体中 | |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档内容 | |
5 | DELETE | 请求服务器删除指定的页面 |
状态码
1** : 指示信息 —— 请求已接收,继续处理
2** : 成功 —— 请求已被成功接收,理解
3** : 重定向 —— 要完成请求必须进行更进一步的操作
4** : 客户端错误 —— 请求有语法错误或请求无法实现
5** : 服务器端错误 —— 服务器未能实现合法的请求
http的报文
请求报文
报文格式 | 报文信息 | 说明 |
---|---|---|
请求行 | 请求方法 URL 协议的版本 | 请求行是请求报文的第一行,说明客户端的目的 |
请求头 | 字段名1:值1 字段名2:值2 ······ | |
空行 | 空白无内容 | 通知web服务器请求头结束了 |
请求报文主体 | GET方法没有报文请求 POST方法才有 | 请求报文主体包含了需要发给服务器的信息,get方法是向服务器索要信息,post方法是向服务器提交信息,所以get没有主体而post有 |
相应报文
报文格式 | 报文信息 | 说明 |
---|---|---|
起始行 | 协议版本号、数字状态码、状态信息 | 用来描述服务器响应客户端请求的状况 ,eg:HTTP/1.1 200 OK |
相应头部 | 字段名1:值1 字段名2:值2 | Content-Length: 81 #说明响应主体的长度Content-Type: text/html charset=UTF-8 #说明文档的编译类型 |
空行 | 空白无内容 | 通知客户端头部信息结束 |
相应报文主体 | 携带了要返回给客户端的数据 |
WEB服务器的配置
服务器端:使用nginx提供web服务
yum install -y nginx #下载nginx
vim /etc/nginx/conf.d/ #该目录下为子配置文件
ll /etc/nginx/nginx.conf #主配置文件
ll /usr/share/nginx/html/ #默认nginx网站的根目录
ll /var/log/nginx/ #nginx的日志文件所在的目录
实验1、
搭建一个web服务器,访问该服务器时显示“hello world”欢迎页面
systemctl stop firewalld #关闭防火墙setenforce 0 #设置selinux为允许
echo hello world > /usr/share/nginx/html/index.htmlsystemctl restart nginx #重启nginx
实验2、
建立一个基于IP地址访问的网站,该网站IP地址的主机位100,设置首页目录为
/www/ip/150
网页的内容为this is 150
创建目录: mkdir -p /www/ip/150
写入内容:echo this is 150 > /www/ip/150/index.html
创建150的IP地址 :nmtui
重启网卡,激活地址 : nmcli connection up ens160
编辑conf
文件:vim /etc/nginx/conf.d/150.conf
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
重启nginx进程:systemctl restart nginx
实验3、
建立一个基于10000端口访问的网站,设置网站首页目录为
/www/port/10000
新建目录:mkdir -p /www/port/10000
写入文件:echo this is 10000 > /www/port/10000/index.html
编辑conf文件:vim /etc/nginx/conf.d/port.conf
**重启nginx进程:**systemctl restart nginx