Linux的web服务的介绍
web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构
网页类型:
静态网页 HTML超文本标记语言 *.html
动态网站
类似于脚本文件,根据传递的参数不同,返回的页面结果不同的
PHP *.php
Java(JSP) *.jsp
Python(Django模块)*.wsgi
HTTP-------------HyperText Transfer Protocol 超文本传输协议
HTTP/0.9:仅纯文本(超链接),ASCLL
HTTP :HyperText Mark Language 超文本标记语言
<h1>I am cehngfneg.</h1>
HTTP/1.0
MIME机制:Multipurpose Internet Mail Extensions,多用途互联网邮件扩展
将非文本数据在传输前重新编码为文本格式再传输,接收方能够用相反的方式将其还原成以前的格式,还能够调用相应的程序打开此文件
缓存机制
HTTP/1.1(无状态连接)
增强了缓存机制的管理
长连接keepalive机制
超时时间
每个长连接请求文件个数的限制
HTTP报文:请求报文,响应报文
HTTP请求报文语法:
<method><request-URL><version>
<headers>
<entity-body>
请求报文:
GET /1.gif HTTP/1.1
Host:www.bj.com
Connection:keep-alive
HTTP方法:
GET,PUT,POST,DELETE,HEAD
URI:Uniform Resource Identifier,统一资源标识符 /.jpg
全局范围内,唯一标识某个资源的名称
统一:路径格式上的统一
URL:Uniform Resource Locator 统一资源定位符
protocal://Host:Port/path/to/file
http://192.168.1.1/1.jpg
http://192.168.1.1:8000/1.jpg
HTTP响应报文语法:
<version><status><reason-phrase>
<headers>
<entity-body>
状态代码:
1xx:纯信息
2xx:成功类信息
3xX:重定向类信息I
301:永久重定向
302:临时重定向
304: not-modified, 使用缓存的内容响应客户端
4xx:客户端错误类信息
5xx:服务器端错误类信息
响应报文:
HTTP/1.1 200 OK
X-Powerd=By: PHP/5.2.17
vary: Accept-Encoding, Cookie, User-Agent
Cache-Control: max-age=3, must-revalidate
Content-Encoding: gzip
Content -Length: 6931
上面两个报文的第一 行通常称为报文的“起始行(start line)"; 后面的标签格式称为报文首部域(Header
field),每个首部域都由名称(name)和值(value)组成,中间用逗号分隔。另外,响应报文通常还有- - 个称作Body的信息主体,即响应给客户端的内容
web服务器的主要操作:
1、建立连接----接受或拒绝客户端连接请求
2、接收请求----通过网络读取HTTP请求报文
3、处理请求----解析请求报文并做出相应的动作
4、访问资源----访问请求报文中所请求的资源
5、构建响应----使用正确的首部生成HTTP响应报文
6、发送响应----向客户端发送生成的响应报文
7、记录日志----当已经完成的HTTP事务记录进日志文件
web服务器响应并发连接(qps--> query per second) 的方式:
1、单进程/单线程机制
依次处理每个请求
2、多进程/多线程机制(稳定)
每个请求生成子进程响应
3、一一个进程响应多个请求(单进程多线程)
事件驱动机制
通知机制
4、多进程响应多个请求
Linux的web服务的介绍的更多相关文章
- Web服务基础介绍
Web服务基础介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正常情况下的单次web服务访问流程 博主推荐阅读: https://www.cnblogs.com/yinzh ...
- Linux中web服务运行情况的方法
监控一般通过脚本实现,使用定时任务定期执行检测. 1.端口 本地:ss,netstat,lsof 远程:telnet,namp,nc 2.本地进程数 例如: lsof -i:80|wc -l ps - ...
- Linux系统WEB服务之Nginx基础入门
一.Nginxi简介 Nginx是什么?它是一个开源.高性能的WEB服务器软件和代理服务器软件,由俄罗斯人Igor Sysoev 开发实现.它的功能主要分三类,第一是它作为一个WEB服务软件使用:第二 ...
- 马老师 linux必备web服务入门及高级进阶
http://edu.51cto.com/course/course_id-866.html HTTP: HyperText Transfer Protocol 超文本传输协议 超链接: Web: h ...
- Linux几种服务用处介绍
rexec--Remote Execute,远程命令执行,允许远程机器在本机上远程执行命令,监听端口512. nfs--Network File System,网络文件系统,用于将本机文件夹共享到别的 ...
- Linux下web服务的搭建
1.安装Apache Apache的官网地址为:http://httpd.apache.org/,这里以源码的方式进行安装,我们下载的版本是“httpd-2.4.25.tar.gz”,下载后的压缩文件 ...
- 如何测试Web服务.3
-->全文字数:2254,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读- ->第一节讲了<Web服务基础介绍>,第二节讲了<Web服务测试工具> ...
- 如何测试Web服务.2
-->全文字数:2700,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读- -->上一节讲了<Web服务基础介绍>,本节介绍可用于测试web服务的开源测试工具. ...
- linux web服务基础知识,dns
#web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx > web server 服务端浏览器 > web client 客户端 #dns解析 ...
随机推荐
- CF1076D Edge Deletion 最短路树
问题描述 Codeforces 洛谷(有翻译) 题解 最短路树,是一棵在最短路过程中构建的树. 在\(\mathrm{Dijkstra}\)过程中,如果最终点\(y\)是由点\(x\)转移得到的,则在 ...
- Gym101667 H. Rock Paper Scissors
将第二个字符串改成能赢对方时对方的字符并倒序后,字符串匹配就是卷积的过程. 那么就枚举字符做三次卷积即可. #include <bits/stdc++.h> struct Complex ...
- linux c 学习 GUN glibc 信息查看
gun glibc 信息查看方法 方式 共享库作为可执行文件,默认位置可能为/lib/libc.so.6信息如下: GNU C Library (GNU libc) stable release ...
- Salesforce 开发整理(九) 开发中使用的一些小技巧汇总[持续更新]
1.查询一个对象下所有字段 当需要查询一个对象所有字段进行复制或其他操作,可以使用一段拼接的语句来查询 String query = 'select '; for(String fieldApi : ...
- 热情组——项目冲刺 Day5
项目相关 作业相关 具体描述 班级 班级链接 作业要求 链接地址 团队名称 热情组 作业目标 实现软件制作,以及在福大的传播 Github链接 链接地址 SCRUM部分: 成员昵称 昨日目标 开始时间 ...
- .NET Core:Api版本控制
(1)先安装Microsoft.AspNetCore.Mvc.Versioning (2)在Startup的ConfigureServices方法中加入:services.AddApiVersioni ...
- HTML连载29-div和span标签
一.div标签 1.作用:一般用于配合CSS完成网页的基本布局 2.例子: <style> .head{ width: 980px; height: 100px; background: ...
- 修咻咻对追光的人、云打印团队的Beta产品测试报告
修咻咻对追光的人.云打印团队的Beta产品测试报告 作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Beta冲刺(团队) 团队目标 切实可行的计算机协会维修预约平 ...
- 父组件调用子组件 viewChild
父组件调用子组件 1.在子组件的ts中声明一个变量 public lineout:any="你好,我是被父组件调用的子组件"; 2.在父组件的html中写入 (引入子组件) & ...
- centos7安装pyenv
一.安装pyenv: 1.>安装依赖包: yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel ...