http协议概述

了解web及网络基础

TCP/IP的分层管理:1、应用层:决定了向用户提供应用服务时通信的活动,该层包含的协议有:FTP(文件传输协议),DNS(域名系统)以及http;2、传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输,该层包含的协议有:TCP(传输控制协议)和UDP(用户数据报协议);3、网络层:网络层用来处理在网络上流动的数据包,该层规定了通过怎样的路径到达对方计算机,并把数据包传送给对方,该层包含有IP协议;4、链路层:用来处理链接网络的硬件部分。

如何理解TCP/IP的分层管理:链路层是实实在在的管道,网络层负责管道铺设方案,传输层负责将管道内要传送的物资进行统一的打包,而应用层就是那些要被传送的物资了。

TCP协议三次握手:1、目的:确保数据能到达目标;2、过程:发送端首先发送一个带SYN标志的数据包给对方;接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。最后发送端再回传一个带有ACK标志的数据包,代表握手结束。

一个请求发送的全过程:客户端发送请求=>dns域名解析=>http协议生成请求http报文=>TCP协议,分割请求报文,生成数据包=>IP协议搜索对方地址,一边中转一边传送=>TCP协议报文重组=>http协议,对web服务器请求的内容进行处理=>服务器根据请求返回资源=>经过同样的过程返回数据给客户端。

简单的http协议

请求报文的构成:

响应报文的构成:

理解无状态的http:http自身不对请求和响应之间的通信状态进行保存,协议对于发送过的请求或响应都不做持久化处理,无状态-有状态的转化可以通过cookie实现

http/1.0和http/2.0支持的方法:

理解持久连接和管线化:持久连接可以实现一次连接处理多个请求,管线化可以实现并行处理多个请求。

http报文:1、主要构成部分:请求行,状态行,请求首部,响应首部,通用首部,实体首部,报文主体;2、用于对内容进行编码的头部:gzip,compress,deflate(以上都常用于压缩文件),identity(不进行编码);3、返回多部分对象集合的头部:multipart/form-data,multipart/byteranges;4、获取部分范围内容的请求头部:range;5、用于内容协商的首部字段:Accept,Accept-Charset,Accept-Encoding,Accept-Language,Content-Language

http状态码

状态码类别:

200:表示从客户端发来的请求在服务器被正常处理了;204:表示服务器已经成功处理请求,但返回的响应报文不含实体的主体部分;206:表示客户端进行了范围请求,服务器成功执行了这部分请求;301:永久重定向;302:临时重定向;303:临时重定向,并规定用get方法访问资源;304:资源从缓存中获取;307:临时重定向;400:请求报文存在语法错误;401:用户认证失败;403:未获得文件系统的授权或访问权限出现问题;404:未找到资源;500:服务端在执行请求时发生错误;503:服务器暂时存在超负荷或停机状态

与http协作的web服务器

代理:1、接受由客户端发送的请求并转发给服务器,同时也接受服务器返回的响应并转发给客户端;2、代理服务器的作用:利用缓存技术减少带宽和流量,组织内部针对特定网站的访问控制。网关:1、转发其他服务器通信数据的服务器,接收从客户端发过来的请求时,就像自己拥有资源的源服务器一样对请求进行处理。隧道:建立起一条与其他服务器的通信线路,会使用ssl加密手段进行通信,目的是确保客户端能与服务器进行安全的通信

http首部

通用首部:cache-control: public:表示其他用户也可以利用缓存;cache-control:private:缓存服务器会对该特定用户提供资源缓存的服务;cache-control:no-cache:客户端将不会姐搜缓存过的响应;cache-control:no-store:比no-cache更高级的禁用缓存策略;cache-control:max-age:自请求发送起,资源的缓存有效期;connection:不再转发的首部字段名:可控制不在转达给代理的首部字段;connection:keep-alive:建立持久连接;Date:GMT时间:创建报文的日期和时间;Upagrade:协议名:用于检测HTTP协议及其他协议是否可使用更高的版本进行通信。

请求首部:Accept:文件类型:通知服务器,用户代理能后处理的媒体类型及媒体类型的相对优先级;Accept-Charset:字符集:用来通知服务器,用户代理支持的字符集及字符集的 相对优先顺序;Accept-Encoding:编码类型:告知服务器用户代理支持的内容编码及内容编码的优先级顺序;Accrpt-Language;Authorization;Host;If-Match;If-Modified-Since;Max-Forwards;Range;Refer;User-Agent;

响应首部:Accept-Ranges:bytes/none;Etag;

实体首部:Content-Length;Content-Range;Content-Type;

https

http的缺憾:1、无法认证通信双方的身份;2、本身没有对通信内容进行加密的机制;3、无法建立安全的通信线路;4、无法验证报文的完整性

如何解决:1、通过SSL建立安全的通信线路,并通过验证证书的方式确认双方的身份;2、通过MD5加密和SHA-1散列值的方式来保证报文的完整性;3、通过密钥来对报文内容进行加密

ssl通信的建立过程:

用户身份认证

BASIC认证:通过输入密码的方式来确认是否为用户本人的认证方式;

DIGEST认证:客户端通过由服务器发送的质询码产生唯一的响应码,进行客户端认证’

SSL双因素认证:在ssl通信连接的保护下,进行BASIC和DIGEST认证;

cookie:保存用户的认证状态,以解决http的无状态特性

基于http功能的追加协议

http的性能瓶颈:1、每次都要发送亢长重的首部;2、服务器有内容更新时不能主动向客户端推送;3、报文内容没有统一的压缩方式

ajax:实现网页局部更新以及javascript的异步操作

comet:实现服务器的主动推送

spdy协议:1、支持服务器主动推送;2、并发处理多个请求;3、支持请求首部的压缩

websocket(全双工双向通信):1、支持客户端向服务器端,以及服务器端向客户端的主动推送;2、精简的请求和响应首部

web的攻击技术

跨站脚本攻击:通过在url中输入脚本,进而获取文档中的信息如cookie等,然后向攻击者服务器发送这些信息;

sql注入攻击:在进行数据库操作时,有时会通过获取表单中的数据,并将这些数据作为参数进行数据库操作;只要攻击者在表单输入是输入一些特殊的数据库操作符,便可达到操作数据库的目的;

http首部注入攻击:在进行http请求时,有时会将表单中的数据作为首部参数进行请求操作;此时攻击者只要在表单中输入一些特殊的字符,便可操作http请求;

强制浏览:服务器上一些不进行公开的文件,会通过隐蔽文件url的方式进行访问限制,此时攻击者通过某些试错的手段得到这些文件url,便可以访问,造成一些保密信息的泄露;

会话劫持:攻击者通过xss攻击或其他方式得到用户的会话id,便可以伪装成用户的身份;

跨站点请求伪造:用户访问某网站时已经处于登录状态,攻击者此时诱惑用户点击某个链接便可以以用户的身份进行一些特殊的操作。

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

推荐阅读更多精彩内容