专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

http server服务器(什么是http服务器)

来源:小易整编  作者:小易  发布时间:2023-03-16 10:53
摘要:我们知道浏览器是http(s)的客户端,目的是连接远程的http服务器,然后服务器返回浏览器数据.浏览器接收数据解析数据之后展现出来.我们看到的外在表现就是,浏览器访问一个url,然后就得到相应的web页面.同样我们知道,浏览器与http...

本篇文章旨在从服务器后台开发的角度剖析一个简单的http服务器的运行原理.

http server服务器(什么是http服务器)

我们知道浏览器是http(s)的客户端目的是连接远程的http服务器然后服务器返回浏览器数据.浏览器接收数据解析数据之后展现出来.我们看到的外在表现就是浏览器访问一个url然后就得到相应的web页面.

同样我们知道浏览器与http服务器是通过http协议传输层是tcp协议因为他是有连接可靠的协议.关于http协议简单的介绍一下:

一个标准的HTTP请求由以下几个部分组成

[]

在HTTP请求中,第一行是请求行(request-line),用来说明请求类型、要访问的资源(URL)以及使用的HTTP版本;紧接着是多行头部(headers)信息,用来说明服务器要使用的附加信息;头部信息之后是一个回车换行符(\r\n),用于标明头部信息的结束。以上是必须内容,根据需要可在头部信息结束之后增加主体数据(request-body);

主体数据之后是一个回车换行符(\r\n),用于标明主体数据的结束。

例如,我们可以在IE浏览器上输入下面的网址:

http://localhost:8000/hello/index.html

HTTP请求的头部信息如下:

GET /hello/index.html HTTP/1.1Accept: */*Accept-Language: zh-cnAccept-Encoding: gzip deflateHost: localhost:8000Connection: Keep-AliveCookie: JSESSIONID=BBBA54D519F7A320A54211F0107F5EA6

收到请求数据之后服务器解析毕竟是明文字符这个简单.然后服务器就知道了客户端的要求--获取目录hello/index.html文件.服务器读取文件内容发送给浏览器就好了.

后来随着业务逻辑越来越复杂单单获取某个html文件功能早已不能满足需求个性化需求呼之欲出.比如在线问卷调查表他究竟是怎么把我们填写的数据传递给服务器的呢?

你可能会说那不是一样客户端发送什么内容服务器就接收什么内容.可是你想过没有每个网站的需求是不一样的本来服务器接收到浏览器的请求数据已经是够复杂的了还让服务器来解析数据并响应不同的数据处理这不太现实.

一般的服务器最好只接收数据如果让服务器也处理数据逻辑势必会让服务器变得很复杂稳定性也得不到保证.

另外一个角度是为了让程序复用提高生产效率.也就是说如果不关注业务逻辑只注重接收数据那么服务器程序可以给任何一个开发者使用.换句话说我们不用从头开始写.直接使用现有的高性能的服务器就可以满足需求了.例如公司白领中午要吃饭不可能跑回家自己去做饭吃自己叫外卖就好了.

但是现实问题仍然没有解决通过什么方式去处理业务逻辑呢?

你要给手机充电时把插头插入插线板就能获取电了.插线板有接口提供了电.

同理服务器程序最好也提供接口浏览器通过统一的接口给服务器然后我们从服务器接口中获取我们想要的数据.获取数据之后我们可以把数据交给第三方程序来处理逻辑这样就做到与服务器业务分离了good iead.

【文章福利】小编整理了一些学习资料、教学视频和学习路线图共享在群文件,资料包括《Andoird音视频开发必备手册 音视频最新学习视频 大厂面试真题 2022最新学习路线图 项目实战源码》等等(C/C ,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs),免费分享,有需要的可以搜索788280672加群自取~希望对大家有帮助!

事实上现在的http服务器就是这么做的不过很复杂而已.下一篇开始为您介绍这些接口.

附录:HTTP Request Header 请求头

本文地址:问答解惑频道 https://www.hkm168.com/live/927995.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


问答解惑
小编:小易整编
相关文章相关阅读
  • 如何设置Nginx代理服务器以在多台服务器之间实现负载均衡?

    如何设置Nginx代理服务器以在多台服务器之间实现负载均衡?

    如何设置Nginx代理服务器以在多台服务器之间实现负载均衡?引言:在现代互联网应用程序中,服务器负载均衡是保证应用程序高可用性、高性能和可扩展性的重要因素之一。Nginx是一个高性能的开源代理服务器,具有强大的负载均衡功能。本文将介绍如何利...

  • Python服务器编程:使用PyAudio进行音频处理

    Python服务器编程:使用PyAudio进行音频处理

    python是一种功能强大的编程语言,可以用于从简单的脚本到复杂的应用程序和服务器。pyaudio是python中一种流行的音频处理库,可以用于录制、播放和处理音频数据。在本文中,我们将探讨如何使用PyAudio来开发一个Python服务器...

  • http400的错误请求怎么解决

    http400的错误请求怎么解决

    http400的错误请求解决方法:1、检查url;2、检查url参数;3、确认请求体;4、检查请求方法;5、清除缓存。HTTP400错误是指服务器无法理解请求的语法。它是客户端向服务器发送的请求中包含了无效的语法导致的。当用户在浏览器中访...

  • HTTP/ 2是什么意思

    HTTP/ 2是什么意思

    http/2是超文本传输协议(http)的最新版本,一种新的协议。它用于传输数据,这将大大加快网络速度,并可以帮助优化搜索引擎。HTTP的发展HTTP的第一个文档版本HTTP0.9于1991年发布,后来在1996年正式引入HTTP1.0版...

  • 如何使用PHP在FTP服务器上进行文件的查找和替换

    如何使用PHP在FTP服务器上进行文件的查找和替换

    如何使用php在ftp服务器上进行文件的查找和替换介绍:在进行网站维护和更新的过程中,我们常常需要对FTP服务器上的文件进行查找和替换的操作。而使用PHP语言可以帮助我们实现这一功能,简化操作流程,提高效率。本文将介绍如何使用php在ftp...

  • 计算机网络中的服务器是指什么

    计算机网络中的服务器是指什么

    计算机网络中的服务器是指提供服务的计算机或设备,它们承担着处理和管理网络请求的任务,通过网络连接与客户端进行通信,并提供各种服务,如文件存储、网站托管、电子邮件、数据库管理、应用程序运行等。服务器的设计和配置需要考虑性能、安全性、可靠性和可...

  • Nginx服务器的容器化部署和集群管理详细指南

    Nginx服务器的容器化部署和集群管理详细指南

    nginx服务器的容器化部署和集群管理详细指南引言:随着云计算和容器技术的发展,容器化部署已成为企业应用开发和部署的常见方式。Nginx作为一款高性能的Web服务器和反向代理服务器,也可以通过容器化来实现部署和管理。本文将详细介绍如何将Ng...

  • nginx代理下载服务器文件的方法

    nginx代理下载服务器文件的方法

    主旨nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(imap/pop3)代理服务器,在bsd-like协议下发行。nginxischaracterizedbylowmemoryusageandstrong...

  • 周排行
  • 月排行
  • 年排行

精彩推荐