什么是http协议?

超文本传输协议

最流行www服务,是http协议的实现

  ssh,nfs,rsync客户端(Client)和服务端(Server),C/S架构,局域网内部用,胖客户端

  http协议www应用,浏览器(Brower)和服务器(Server),B/S架构,擅长广域网(互联网)应用

什么是www?

  万维网,最受欢迎的信息服务形式,http协议www服务应用默认端口80,还有另外一个加密的www服务应用https,默认端口443,主要用于网银、支付等和钱相关的业务

  http服务、www服务、web服务,都是当下常见的网站服务应用

  http1.1 支持持久连接,在一个TCP连接上可以传送多个http请求和响应,减少建立和关闭连接消耗和时间延迟,增加更多的请求头和响应头信息

  开发使用的浏览器: 谷歌 和 火狐

http有哪些请求方法?

get

post

生产场景常用的状态码?

200-ok          服务器成功返回页面,成功相应http请求,返回标准状态码

301               永久跳转,所有请求的网页将永久跳转到被设定的新的位置

403               禁止访问,服务器权限配置不当

404               请求页面不存在,服务器上没有该页面的资源

500               内部服务器出现文件,一般为服务器的设置或者内部程序问题所致

502              坏的网关,服务不可用或没有完成响应网关服务器,一般为反向代理服务下面节点出问题

http请求报文

请求头:       请求方式,协议版本号,请求资源,请求主机,请求文本格式,浏览器标识

http响应报文

响应头:  协议 状态码 响应时间 提供服务器信息 上一次更新时间 内容长度 文本类型

  响应体:   返回的html文本内容

curl -l www.baidu.com        # 获得响应头信息

http位于网络7层模型应用层

静态网页资源

  a. 纯粹html格式网页,没有后台数据库,不含程序和可交互的网页

  b. 特点: 更新麻烦,不能动态填充数据

    1. 每个页面都有URL地址,URL没有? 和 & 符号

    2. 页面固定不变,容易被搜索引擎收入(优点)

    3. 程序在浏览器端解析,不需要读取后端数据库,因此性能和效率很高

    4. 因为后端没有数据库支持,所以和用户的交互性比较差,功能实现差

静态网页架构思想:

  在高并发、高访问量的场景下做架构优化,涉及的关键环节是把动态网页转成静态网页,而不是直接请求数据库和动态服务器,并且把静态内容推送到前端缓存中提供服务,这样就可以提升用户体验,节约服务器和维护成本

动态网页特点:

  1. url含有 ? 和 & 符号,SEO不收录含这些符号的url,对搜索引擎不友好,通过伪静态技术,欺骗让搜索引擎收录

  2. 网站后缀名都为对应的.php,各位web开发语言

  3. 页面可以进行交互,依赖数据库,实现网页动态填充

动态网页架构思想:

  静态网页性能效率是动态网页的10~30倍,且动态效率很低,并发能力也很低,在高并发场景中,应该尽量可能转换成静态网页,动态转静态几乎是所有高并发网站必备的架构方案实例,也是架构师的职责所在

对于更新频繁的网站设计不好就会产生数据不一致的情况

伪静态网页

  通过rewrite技术,把动态的url地址转换为,让搜索引擎收录,提升用户访问体验,把动态网站转换为一朝一夕的事情,需要技术团队配合才能行

www服务软件有哪些?提供静态网站服务

  1. apache 中小型web服务主流,老大
  2. Nginx 大型web服务主流,其分支tengine也在发展

提供动态服务软件上有哪些?

  1. PHP        大中型网站,配合Nginx解析动态程序
  2. resin       Java主流

版本选择,一年以前的版本,也就是稳定版本

http通信原理:

  1. http是osi模型中应用层协议,http协议重要应用是www服务
  2. http访问需要DNS解析原理
  3. http请求原理
  4. 用户请求网站服务器请求和返回流程

linux_http协议的更多相关文章

  1. HTTP协议系列(1)

    一.为什么学习Http协议       首先明白我们为什么学习HTTP协议,也就是说明白HTTP协议的作用.HTTP协议是用于客户端与服务器之间的通讯.明白了HTTP协议的作用也就知道了为什么要学习H ...

  2. 重温Http协议--请求报文和响应报文

    http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...

  3. 协议森林17 我和你的悄悄话 (SSL/TLS协议)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的 ...

  4. 协议森林16 小美的桌号(DHCP协议)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...

  5. 简约之美Jodd-http--深入源码理解http协议

    Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架.简单,却很强大! jodd-http是一个轻巧的HTTP客户端.现在我们以一个简单的示例从源码层看看是如何实现的? Http ...

  6. 【JavaScript】javascript中伪协议(javascript:)使用探讨

    javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行. 比如下面这个死链接: <a href="javasc ...

  7. SNMP简单网络管理协议

    声明:以下内容是学习谌玺老师视频整理出来(http://edu.51cto.com/course/course_id-861.html) SNMP(Simple Network Management ...

  8. 海鑫智圣:物联网漫谈之MQTT协议

    什么是MQTT协议 MQTT(消息队列遥测传输协议)是IBM在1999年专门针对物联网等应用场景来制订的轻量级双向消息传输协议,它主要是为了解决物联网上使用到的设备的互相通信的问题,以及这些设备与后端 ...

  9. linux-图形化远程管理协议

    远程管理控制方式: RDP(remote desktop protocol)协议: telnet: SSH(Secure Shell): RFB(Remote FrameBuffer)协议(图形化远程 ...

随机推荐

  1. Ubuntu 16.04 LTS运行robo3t报错

    系统环境:Ubuntu 16.04 LTS. 安装robomongo Robo 3T,运行时报以下错误: jaxu@jaxu-ubuntu:/usr/local/share/robo3t--linux ...

  2. [Spark内核] 第37课:Task执行内幕与结果处理解密

    本课主题 Task执行内幕与结果处理解密 引言 这一章我们主要关心的是 Task 是怎样被计算的以及结果是怎么被处理的 了解 Task 是怎样被计算的以及结果是怎么被处理的 Task 执行原理流程图 ...

  3. Centos6.4三种更改hostname的方法之间的对比

    首先,利用hostname命令查看一下当前主机的主机名,在终端输入hostname,会发现显示的是完整的主机名称(主机名.域名),其中主机名与进入终端后:登录名@主机名,显示的一致,如下图所示: 其次 ...

  4. CSS中的块级元素(block)与行内元素(inline)

    css中有3种基本的定位机制:普通流(相对定位实际上看做普通流定位模型的一部分)浮动(float)绝对定位(固定定位是绝对定位的一种)所以在学习浮动之前,我们先要了解块级元素与内联元素(行内元素).块 ...

  5. 意外断电数据库无法启动牵扯到异步IO的参数设置

    一客户机房新装的UPS不太稳定,好几次意外断电,第3次意外断电之后问题终于来了, 数据库起不来了-- 数据库的硬件环境是一台IBM DS5020存储,2台IBM X3850 X5 软件环境是Linux ...

  6. 使用GPA针对android应用的绘制分析

    使用GPA针对android应用的绘制分析 以前经常用GPA来perf端游的绘制,很多perf工具例如perfhud,pix对于加壳的程序总是束手无策,但是GPA却不受这个限制,可以自动HOOK 3D ...

  7. [转]Linux里的2>&1究竟是什么

    我们在Linux下经常会碰到nohup command>/dev/null 2>&1 &这样形式的命令. 首先我们把这条命令大概分解下首先就是一个nohup表示当前用户和系 ...

  8. Redis进阶实践之三如何在Windows系统上安装安装Redis

    一.Redis的简介        Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...

  9. 【JavaScript_DOM 淘宝购物车】

    让我们一起看一下淘宝的购物车是怎么做的吧,刚刚入门的我可能很多地方的用法都不够优化,不过个人感觉先把逻辑清晰之后再做的话其实也并不难哦, 以下是我做的页面代码: HTML代码: <!DOCTYP ...

  10. js面向对象学习笔记(二):工厂方式:封装函数

    //工厂方式:封装函数function test(name) { var obj = new Object(); obj.name = name; obj.sayName = function () ...