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服务的介绍的更多相关文章

  1. Web服务基础介绍

    Web服务基础介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正常情况下的单次web服务访问流程 博主推荐阅读: https://www.cnblogs.com/yinzh ...

  2. Linux中web服务运行情况的方法

    监控一般通过脚本实现,使用定时任务定期执行检测. 1.端口 本地:ss,netstat,lsof 远程:telnet,namp,nc 2.本地进程数 例如: lsof -i:80|wc -l ps - ...

  3. Linux系统WEB服务之Nginx基础入门

    一.Nginxi简介 Nginx是什么?它是一个开源.高性能的WEB服务器软件和代理服务器软件,由俄罗斯人Igor Sysoev 开发实现.它的功能主要分三类,第一是它作为一个WEB服务软件使用:第二 ...

  4. 马老师 linux必备web服务入门及高级进阶

    http://edu.51cto.com/course/course_id-866.html HTTP: HyperText Transfer Protocol 超文本传输协议 超链接: Web: h ...

  5. Linux几种服务用处介绍

    rexec--Remote Execute,远程命令执行,允许远程机器在本机上远程执行命令,监听端口512. nfs--Network File System,网络文件系统,用于将本机文件夹共享到别的 ...

  6. Linux下web服务的搭建

    1.安装Apache Apache的官网地址为:http://httpd.apache.org/,这里以源码的方式进行安装,我们下载的版本是“httpd-2.4.25.tar.gz”,下载后的压缩文件 ...

  7. 如何测试Web服务.3

    -->全文字数:2254,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读- ->第一节讲了<Web服务基础介绍>,第二节讲了<Web服务测试工具> ...

  8. 如何测试Web服务.2

    -->全文字数:2700,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读- -->上一节讲了<Web服务基础介绍>,本节介绍可用于测试web服务的开源测试工具. ...

  9. linux web服务基础知识,dns

    #web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx   >   web  server  服务端浏览器  >    web  client  客户端 #dns解析 ...

随机推荐

  1. 【java】isEmpty VS isBlank 的区别

  2. CSS/H5保留显示 textarea输入的空格和换行

    .show { white-space: pre-wrap; }

  3. 原生js拖拽、jQuery拖拽、vue自定义指令拖拽

    原生js拖拽: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  4. Linux网络基础设置

    1.笔记 systenctl restart network:重启网卡网络服务 bash:刷新主机名称 netstat:查看网络状态 route -n:不做地址解析 mii-tool eno16777 ...

  5. Web协议详解与抓包实战:HTTP1协议-请求与响应的上下文(7)

    一.请求的上下文: User-Agent 指明客户端的类型信息,服务器可以据此对资源的表述做抉择 二.请求的上下文: Referer 浏览器对来自某一页面的请求自动添加的头部 截图2 这对于我们的防盗 ...

  6. [LeetCode] 660. Remove 9 移除9

    Start from integer 1, remove any integer that contains 9 such as 9, 19, 29... So now, you will have ...

  7. Shell脚本是什么、它是必需的吗?

    一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务.

  8. oracle--BBED (dump 深入实践三)

    一,工具介绍 bbed是Block Browser and Editor(块浏览编辑器)的缩写,它是Oracle数据库在安装时一起附带的工具. 一般此工具倾向于仅作为Oracle内部使用,且Oracl ...

  9. 一次线上Redis类转换异常排查引发的思考

    之前同事反馈说线上遇到Redis反序列化异常问题,异常如下: XxxClass1 cannot be cast to XxxClass2 已知信息如下: 该异常不是必现的,偶尔才会出现: 出现该异常后 ...

  10. Spring中抽象类中使用EmbeddedValueResolverAware和@PostConstruct获取配置文件中的参数值

    我的需求: 我有一个 abstract class 中包含了很多子类中需要用到的公共方法和变量,我想在抽象类中 使用@Value获取*.properties中的值.但是@Value必须要在Spring ...