http://edu.51cto.com/course/course_id-866.html

HTTP: HyperText Transfer Protocol 超文本传输协议

超链接:

Web:
 http/0.9:仅纯文本(超链接),ASCII
 HTML: HyperText Mark Language 超文本标记语言

Browser:客户端

URI:Uniform Resource Indentifier 统一资源标示符,全局范围,包括但不限于互联网
     统一:路径格式上的统一

URL是URI的子对象:Uniform Resource Locator 统一资源定位符, 互联网资源的统一标示格式

protocol://HOST:port/path/to/file

例如:http://www.magedu.com/download/linux.tar.gz

web资源: http://www.magedu.com/logo.gif
多个资源很可能被整合成为一个html文档

web对象

资源访问的方法
http方法:
      GET(早期0.9只有一种)

http/1.0: PUT, POST(通过表单提交数据), DELETE
引入了MIME: multipurpose Internet Mail Extension,多用途互联网邮件扩展,这样就可以传输非文本数据了,如图片、视频。

SMTP:Simple Mail Transmission Protocal 简单邮件传送协议,早期只能传送纯文本
      引入了MIME:将非文本数据在传输前重新编码为文本格式,接收方能够用相反的方式将其重新还原为原来的格式,还能够调用相应的程序来打开此文件
      Base64就是一种文本编码格式

协议首部:
image/jpeg
客户端发现image大类下的jpeg小类,浏览器调用插件解析。以插件的机制解析对应MIME格式。

动态效果(ActiveX、Flash、Applet JRE)

动态网页:服务器端存储的文档非HTML格式,而是编程语言开发的脚本。脚本接受参数之后再服务器运行一次,运行完成之后会生成HTML格式的文档,把生成的文档发给客户端。

web:index.php

web --> procotol --> php(运行index.php)

IP

  • Sourse IP
  • Destination IP

TCP

  • Sourse Port
  • Destination Port

http首部
  GET /2.html
  Host: www.magedu.com(虚拟主机)

http报文:请求报文 相应报文

请求报文语法:
<method> <request-URL> <version>
<headers>
<entity-body>

响应报文语法:
<version> <status> <reason-phrease>
<headers>
<entity-body>

状态代码:
1xx:纯信息
2xx:"成功"类的信息(200,201,202)
3xx:重定向类的信息(301永久重定向,302临时重定向,304not notify)
4xx:客户端错误类的信息(404请求了一个不存在的文件)
5xx:服务器端错误类的信息(500)

请求报文:
GET / HTTP/1.1
Host: www.magedu.com
Connection: keep-alive

相应报文:
HTTP/1.1 200 ok
X-Powered-By: PHP/5.2.17
Vary: Accept_Encoding, Cookie, User-Agent
Cache-Control: max-age=3, must-revalidate
Content-Encoding:gzip
Content-Length:6931

Web服务器的主要操作
1、建立连接-接受或拒绝客户端连接请求;
2、接受请求-通过网络读取Http请求报文;
3、处理请求-解析请求并作出相应的动作;
4、访问资源-访问请求报文中相关的资源;
5、构建相应-使用正确的首部生成HTTP响应报文;
6、发送相应-向客户端发送生成的响应报文;
7、记录日志-当已经完成的HTTP事物记录进日志文件;

Ss:10 image, 3 css, 5 html
18资源 单独请求

Ss:10 image, 3 css, 5 html
18资源 单独请求 浏览器多线程,每一个线程发送一个请求

http基于tcp,需要三次握手,四次断开

浏览器缓存是加速网页资源访问速度的。

为了避免三次握手、四次断开等机制,http 1.1引入了
1、增强了缓存功能
2、引入了长连接

为了资源的有效利用,长连接规定了超时断开,最多允许请求多少次。
多个用户同时访问网站,如何响应

继续第九课。。。

马老师 linux必备web服务入门及高级进阶的更多相关文章

  1. 《Spring Cloud微服务 入门 实战与进阶》

    很少在周末发文,还是由于昨晚刚收到实体书,还是耐不住性子马上发文了. 一年前,耗时半年多的时间,写出了我的第一本书<Spring Cloud微服务-全栈技术与案例解析>. 时至今日,一年的 ...

  2. 最新Python3.6从入门到高级进阶实战视频教程

    点击了解更多Python课程>>> 最新Python3.6从入门到高级进阶实战视频教程 第1篇 Python入门导学 第2篇 Python环境装置 第3篇 了解什么是写代码与Pyth ...

  3. 马老师 Linux基础入门

    总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线.地址总线和控制总线,分别用来传输数据.数据地址和控 ...

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

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

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

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

  6. Linux的web服务的介绍

    web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的.全球性的.动态交互的.跨平台的分布式图形信息系统.是建立在Internet上的一种网络服务,为浏览者在 ...

  7. Linux下web服务的搭建

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

  8. Kali Linux 秘籍/Web渗透秘籍/无线渗透入门

    Kali Linux 秘籍 原书:Kali Linux Cookbook 译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 Github Git@OSC 目录: 第一章 安装和启动Kali ...

  9. Java Web Services (1) - 第1章 Web服务快速入门

    SCRIPTS_DIR=/Users/liuzhaofu/opus-dev/product/tools/devPRODUCT_DIR=/Users/liuzhaofu/opus-dev/product ...

随机推荐

  1. 在Java程序中使用Hibernate

    Hibernate是一种ORM框架,ORM全称为Object-Relative Database-Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象(一般为实体类) ...

  2. iOS:UITableView表格视图控件

    UITableView:表格视图控件,继承滚动视图控件UIScrollView,(类似于UIPickerView选择器,它主要通过设置数据源代理和行为代理实现协议来设置单元格)    对表格的操作主要 ...

  3. OpenCV学习(16) 细化算法(4)

    本章我们学习Rosenfeld细化算法,参考资料:http://yunpan.cn/QGRjHbkLBzCrn 在开始学习算法之前,我们先看下连通分量,以及4连通性,8连通性的概念: http://w ...

  4. Horspool 字符串匹配算法

    Horspool 字符串匹配算法对Boyer-Moore算法的简化算法. Horspool 算法是一种基于后缀匹配的方法,是一种“跳跃式”匹配算法,具有sub-linear亚线性时间复杂度. Hors ...

  5. 一键切换皮肤的解决思想及iframe嵌套时寻找下级iframe的方法

    项目中有个一键切换皮肤的功能,感觉还不错,记录下,就是各颜色样式设置起来太复杂了,不知道有没有更简便的方法: 1.切换皮肤结构层 <li title="<s:text name= ...

  6. IOS之正则表达式

    在现阶IOS开发的样式越来越多,我们在开发APP的时候难免会遇到对用户的登录和注册进行操作,但是登录注册如果想要做的人性化少不了的就是校验,对当前用户的登录信息进行校验,如果满足要求我们会把用户注册的 ...

  7. Android -- 文件扫描

    启动MediaScanner服务,扫描媒体文件,程序通过发送下面的Intent启动MediaScanner服务. 扫描指定文件 public void scanFile(Context ctx, St ...

  8. DFA 算法实现关键词匹配

    起因: 从网页中爬去的页面.须要推断是否跟预设的关键词匹配(是否包括预设的关键词),并返回全部匹配到的关键词 . 眼下pypi 上两个实现 ahocorasick https://pypi.pytho ...

  9. 【Javascript Demo】根据Email地址跳转到相应的邮箱登录页面

    我的初步想法是通过指定的邮箱地址自动查找到对应的邮箱登录页面,但是用数据库.js什么的都有局限性,因为各种各样的邮箱太多了,不能都包含的到,网上找了半天都没有找到满意的答案,自己又想不出方法,只能暂时 ...

  10. mac 下vim 配置文件

    " Configuration file for vim set modelines=0 " CVE-2007-2438 " Normally we use vim-ex ...