如何在linux系统中搭建HTTP服务?

    xiaoxiao2023-11-04  157

    1.http介绍

    http(hyper text transfer protocol) (超文本传输协议)  HTTP协议位于TCP/IP协议的应用层。

    HTTP是一个客户端和服务器端请求和答应的标准,主要用于从万维网服务器端传输超文本到本地(www,world wide web)

    服务器传输超文本到本地浏览器之间的请求数据和响应数据的协议。客户端通过使用网页浏览器或者其它的工具发起一个HTTP请求到服务器上的指定端口默认端口是80,服务器在收到请求之后,返回响应内容

    HTTP协议是基于TCP协议来进行数据传输的。

    2.http发展

    HTTP协议已经演化出了很多版本,它们中的大部分都是向下兼容的。客户端在请求的开始告诉服务器它采用的协议版本号,而后者则在响应中采用相同或者更早的协议版本。现在大多使用的都是1.1版本。

        1.0版本: HTTP 协议非常老的标准,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。正式因为这种特性造成了一些性能上的缺陷。

        1.1版本: 克服了HTTP 1.0的缺陷,HTTP 1.1支持持久连接(HTTP/1.1的默认模式使用带流水线的持久连接),在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。同时还增加更多的请求头和响应头来改进和扩充HTTP 1.0的功能(如POST请求头字段等)。

        2.0版本: 2015年5月作为互联网标准正式发布。主要新增如下特性:多路复用,二进制分帧,首部压缩,服务端推送。3.HTTP状态码

    1xx消息—— 请求已被服务器接收,继续处理 2xx成功 —— 请求已成功被服务器接收、理解、并接受 3xx重定向 —— 需要后续操作才能完成这一请求 4xx请求错误 —— 请求含有词法错误或者无法被执行 5xx服务器错误 —— 服务器在处理某个正确请求时发生错误

    200 OK                        //客户端请求成功 400 Bad Request               //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden                 //服务器收到请求,但是拒绝提供服务 404 Not Found                 //请求资源不存在,比如:输入了错误的URL 500 Internal Server Error     //服务器发生不可预期的错误 503 Server Unavailable        //由于超载或系统维护,服务器暂时的无法处理客户端的请求

    在linux上搭建http服务

    ①,安装软件: yum install httpd

    ②,设置防火墙策略等(当防火强开启时)

    ③,进配置文件进行配置,目录应该是。html结尾的  

    主配置目录:/etc/httpd/*

    子配置目录:/etc/httpd/conf.d

    主配置文件介绍:

    listen 80  监听端口

    user apach  进程属主

    group apach  进程属组

    servername  服务名

    <directory / >  目录标签

      allowoverride none  可以覆盖之前的配置

      require all granted  禁止访问根

    </directory>  结尾标记

    ssl认证  (https)是具有安全性的ssl加密传输协议

    http和tcp之间插入了(tsl/ssl) 密码加密层

    ssl  对应的时443端口

    http需要使用到ca(certificate authority)证书

    此证书中包含三个重要的文件key、 csr、 crt

    key:服务器上的私钥文件

    csr:证书的签名请求文件

    crt:证书颁发机构(CA)签名后的证书,或者时开发者自己签名的证书,包含证书持有人的信息,持有的公钥,以及签署着的签名等信息。

    在搭建https服务的时候需要在原来的配置文件的基础上添加ssl相应内容,可以在ssl的配置文件中找到

    在搭建http服务时可以基于端口、ip、域名等访问,全凭个人喜好。

     

    部分内容来自西安鸥鹏

    部分原文:https://blog.csdn.net/china_jeffery/article/details/79495744

    最新回复(0)