计算机

介绍HTTP协议(特征)

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议工作于客户端-服务端架构为上。HTTP 的工作方式是客户机与服务器之间的请求-应答协议。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

主要特点
1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
5、支持B/S及C/S模式。

HTTP中发送请求的两种基本方法:GET和POST有什么区别?

GET - Get:从服务器请求数据,而且请求包含在Url之中。
有长度限制;可以用来作电子书签;敏感数据不应该用Get请求;可以缓存;保存在浏览器历史记录之中;仅仅用来检索数据。
POST - 提交数据到服务器。查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的。
没有长度限制;不可用作电子书签;POST请求相对GET请求更加安全;不可以缓存;不存在浏览历史记录当中。


15.png

132.png

TCP、IP

osi七层模型与TCP/IP五层模型

1.png

546.png

TCP三次握手,四次挥手

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,

简单的描述下这三次对话的简单过程:
1、主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;2、主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;
3、主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

TCP建立连接要进行3次握手,而断开连接要进行4次

1 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
2 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
3 由B 端再提出反方向的关闭请求,将FIN置1
4 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.

UDP(User Data Protocol,用户数据报协议)和TCP区别
1.基于连接与无连接;
2.对系统资源的要求(TCP较多,UDP少);
3.UDP程序结构较简单;
4.流模式与数据报模式 ;
5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

排序算法

稳定:
冒泡排序、插入排序、归并排序和基数排序。

不稳定:
选择排序、快速排序、希尔排序、堆排序。

冒泡排序O(n^2)
1、相邻的元素。如果第一个比第二个大,就交换它们两个;
2、对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;
3、所有的元素重复以上的步骤,除了最后一个;
4、骤1~3,直到排序完成。

快速排序O(nlog2^n)):
快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:
1、从数列中挑出一个元素,称为 “基准”(pivot);
2、重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;
3、递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。

堆排序(Heap Sort)O(nlog2^n):
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。

NAS、SAN存储

NAS是标准的文件级存储方法,采用网络技术(TCP/IP、ATM、FDDI),通过网络交换机连接存储系统和服务器主机来建立存储私网。其主要特征是把存储设备、网络接口和以太网技术集成在一起,直接通过以太网网络存取数据。能够快速实现部门级存储容量需求与文件传输需求。

与上面两者相比,NAS网络存储更具有独立性与良好的兼容性。不但拥有自己的操作系统,同时也无需改造即可用于混合Unix/Windows NT局域网内,与各种操作系统兼容,同时具有很好的灵活性。

SAN是一个采用网状通道(简称FC)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。
从理论上来讲,SAN支持数以百计的磁盘,提供了海量的存储空间,解决了大容量存储问题;从逻辑层面,这个海量空间可以按需要分成不同大小的LUN,再分配给服务器,也解决了只需要小容量存储的问题
SAN需要通过光纤交换机连接存储阵列和服务器,建立专用数据存储的网络。

线程(Process)和进程(Thread)

总结:
进程是对cpu执行一个程序的时间描述,这个时间包括:加载执行程序的上下文(程序信息)、执行程序的时间、切换出任务并保存程序上下文的时间。
线程是共享了进程上下文环境的,更细小的CPU时间段。
综上:进程和线程是CPU工作时间段的描述,只不过是颗粒大小不同而已。

进程是进行资源分配和调度的基本单位。我们仅从最简单的理论上来说,进程包括两个部分,一个是Process Control Block(PCB,程序控制块)和程序块。PCB是系统用来控制一个进程的“工具”,也是进程存在的标志。PCB中包含了进程的一些基本信息,例如,进程的ID,程序运行的堆栈,程序的运行数据等。而程序块则是进程真正执行的代码。

操作系统一般通过时间片算法来管理一个进程。它把CPU分成很多个很小的“片段”,并把它们轮流分配给进程使用。当时间片耗尽后,进程就会被系统“暂停”,将它的数据放入PCB,然后进程就进入了“就绪”队列。因此,从微观角度来讲,单个CPU某一时刻只能执行一个进程。

当进程需要其他外部资源时会怎样呢?例如一个进程需要读写文件,如果缓冲区没有它需要的数据,那么就意味着内核需要去外部储存读取。外部储存的读写对计算机来说是很慢的,CPU资源不应该被白白浪费,于是,内核就会让进程进入阻塞状态。当进程需要的资源准备好的时候,进程就可以继续了吗?答案是否定的,它需要重新“排队”,才能继续运行。

线程的提出,是因为人们觉得进程切换开销太大,因此想要一个更“轻”的进程。线程提出之初,其实用处并不大,直到出现了多核心处理器。

线程是进行资源调度的最小单位。与进程类似,线程也有一个叫做“Thread Control Block”的存在(TCB,线程控制块)。不过,这里需要注意,因为线程拥有的系统数据非常少,因此我们基本上忽略不计。所以说,线程并不能拥有资源,它只能使用进程的资源。线程比起进程更加轻量、灵活。进程的切换涉及到系统资源,而线程则不然。

因为以上特点,我们可以看出:

进程自身的资源不可以被外部进程直接访问。各个进程之间是相互独立的。
一个进程中的多个线程可以共享一部分资源。因此,在多线程环境下,有的操作需要加互斥锁。
在开始介绍线程的时候,我们说到了“多核处理器”。那么,为什么多核处理器能够让线程的能力得以体现?我们先说一下基本概念:处理器(CPU)=运算器+寄存器+控制器。其中,运算器就是我们所说的“核”。多个核心共享寄存器。和进程、线程类比一下是不是很相似?进程独占资源,线程则共享资源。因此,每有一个核心,就可以有一个线程在它上面运行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,000评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,745评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,561评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,782评论 1 298
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,798评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,394评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,952评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,852评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,409评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,483评论 3 341
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,615评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,303评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,979评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,470评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,571评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,041评论 3 377
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,630评论 2 359

推荐阅读更多精彩内容