打牢基础-网络协议

第一天

1.TCP协议为了数据送达采用了什么策略?

TCP协议为了数据送达采用了三次握手的策略:“发送端先向接收端发送一个带SYN标志的数据包,接收端收到后在数据包上加个ACK标志和收到数据包的信息发给发送端,发送端接收到信息后再发送带有ACK的数据包”

2.URI与URL的区别和关系是?绝对URI的格式内容是?

URI是用字符串标识某一互联网资源,URL标识资源的地点,URL是URI的子集
绝对URI的格式:协议名+登陆信息+服务器地址+端口号+文件路径+查询字符串+片段标识符

3.http方法有哪些?各自作用是?

http方法:GET(获取资源);POST(传输实体主体);PUT(传输文件);HEAD(获取报文首部);DELETE(删除文件);OPTIONS(查询支持的方法);TRACE(追踪路径);CONNECT(要求用隧道协议连接代理);LINK(建立与资源之间的联系);UNLINE(断开连接关系)其中LINK和UNLINK已被http/1.1废弃
4.http是通过什么技术解决无状态问题?该技术是如何解决?
http是通过Cookie技术解决无状态问题。
Cookie技术会根据从服务端发送的响应报文里的Set_Cookie的首部字段信息,通知客户端保存Cookie,当下次客户端再忘服务器发送请求时,客户端会自动在请求报文里加入Cookie值再发送,服务端发现接收客户端发送的Cookie后,会检查是从哪个客户端发来的请求,然后对比服务器上的记录,最后得到之前的状态信息。

第二天

1.请求报文的结构是?响应报文的结构是?

请求报文:请求行+请求头+请求正文
请求行:请求方法+URL+协议版本
请求头:请求首部字段+通用首部字段+实体首部字段
(常见的请求头:
Host:接受请求的服务器地址,可以是IP:端口号,也可以是域名
User-Agent:发送请求的应用程序名称
Connection:指定与连接相关的属性,如Connection:Keep-Alive
Accept-Charset:通知服务端可以发送的编码格式
Accept-Encoding:通知服务端可以发送的数据压缩格式
Accept-Language:通知服务端可以发送的语言)
请求正文:请求数据

响应报文:状态行+响应头+响应正文
状态行:协议版本+状态码+状态码描述
响应头:响应首部字段+通用首部字段+实体首部字段
(常见的响应头:
Server:服务器应用程序软件的名称和版本
Content-Type:响应正文的类型(是图片还是二进制字符串)
Content-Length:响应正文长度
Content-Charset:响应正文使用的编码
Content-Encoding:响应正文使用的数据压缩格式)
响应正文:响应数据

第三天

1.常见http状态码及其含义是?

常见http状态码以1xx,2xx,3xx,4xx,5xx开头,其分别的意义是:
1xx: Informational(信息性状态码):接收的请求正在处理
2xx:Success(成功状态码):请求正常处理完毕
3xx:Redirection(重定向状态码):需要进行附加操作以完成请求
4xx:Client Error(客户端错误状态码):服务器无法处理请求
5xx:Server Error(服务器错误状态码):服务器处理请求错误
具有代表性的状态码:
200:OK;客户端发来的请求在服务器被正常处理
204:No Content;客户端发来的请求在服务器被正常处理,但返回的响应报文中不含实体的主体部分
206:Partial Content;客户端进行了范围请求,服务器成功执行了这部分的GET请求
301:Moved Permanently;请求的资源已被分配了新的URI,以后应使用资源现在所指的URI
302:Found;请求的资源已被分配了新的URI,希望用户本次能使用新的URI访问
303:See Other;由于请求对应的资源存在另一个URI,应使用GET方法定向获取的资源
304:Not Modified;客户端发送附带条件的请求时,服务端允许请求访问资源,但未满足条件
307:Temporary Redirect;与302有相同的含义
400:Bad Request;请求报文中存在语法错误
401:Unauthorized;发送的请求需要有通过HTTP认证的认证信息
403:Forbidden;请求资源的访问被服务器拒绝了
404:Not Found;服务器上无法找到请求的资源
500:Internal Server Error;服务器端在执行请求时发生了错误
503:Service Unavailable;服务器暂时处于超负载或正在进行停机维护

2.代理的工作机制是?

代理相当于在客户端和服务端中当一个中间人的作用,接收由客户端发送的请求并转发给服务端,同时也接受服务端返回的响应并转发给客户端
同时代理有缓存代理、透明代理和非透明代理
缓存代理(也叫缓存服务器):缓存代理会预先将资源的保存在代理服务器上,当代理再次收到相同的资源的请求时,就可以不从源服务器上获取资源,而是将之前缓存的资源作为响应返回。
透明代理和非透明代理:转发请求或响应时,不对报文做任何加工,反之,对报文内容进行加工的就是非透明代理

3.缓存的作用是?

缓存是指代理服务器或客户端本地磁盘内保存的资源副本,利用缓存可减少对源服务器的访问,因此也就减少了通信流量和通信时间
缓存是有有效期限的,缓存代理会向源服务器确认资源的有效性,若判断缓存失效,将会再次从源服务器上获取“新”资源。客户端缓存(浏览器缓存)也是如此

第四天

通用首部字段:

Cache-Control:控制缓存的行为【
请求指令:
no-cache(参数:无):强制向源服务器再次验证
no-store(参数:无):不缓存请求或响应的任何内容
Max-age=[秒](参数:必需):响应的最大Age值
Max-stale(=[秒])(参数:可省略):接受已过期的响应
Max-fresh=[秒](参数:必需):期望在指定时间内的响应仍有效
No-transform(参数:无):代理不可更改媒体类型
Only-if-cached(参数:无):从缓存获取资源
Cache-extension: 新指令标记(token);样式:Cache-Control:privite,community=“UCI”
响应指令:
public(参数:无):可向任意方提供响应的缓存
Private(参数:可省略):仅向特定用户返回响应
No-cache(参数:可省略):缓存前必须先确认其有效性
No-store(参数:无):不缓存请求或响应的任何内容
No-transform(参数:无):代理不可更改媒体类型
Must-revalidate(参数:无):可缓存但必须再向服务器进行确认
Proxy-revalidate(参数:无):要求中间缓存服务器对缓存的响应有效性再进行确认
Max-age=[秒](参数:必需):响应的最大Age值
S-maxage=[秒](参数:必需):公共缓存服务器响应的最大Age值
Cache-extension:新指令标记(token));样式:Cache-Control:privite,community=“UCI”】
Connection:逐跳首部、连接的管理
Date:创建报文的日期时间
Pragma:报文指令
Trailer:报文末端的首部一览
Transfer-Encoding:指定报文主体的传输编码方式
Upgrade:升级为其他协议
Via:代理服务器的相关信息
Warning:错误通知

1.http协议请求头作用是什么?几个常见的请求头?

请求头是从客户端向服务器发送请求报文时使用的首部,补充了请求的附加内容、客户端信息、响应内容相关优先级等信息
常见的请求头:
Accept:用户代理可处理的媒体类型
Accept-Charset:优先的字符集
Accept-Encoding:优先的内容编码
Accept-Language:优先的语言
Authorization:Web认证信息
Expect:期待服务器的特定行为
From:用户的电子邮箱地址
Host:请求资源所在服务器
If-Match:比较实体标记(ETag)
If-Modified-Since:比较资源的更新时间
If-None-Match:比较实体标记(与If-Match相反)
If-Range:资源未更新时发送实体Byte的范围请求
If-Unmodified-Since:比较资源的更新时间(与If-Modified-Since相反)
Max-Forwards:最大传输逐跳数
Proxy-Authorization:代理服务器要求客户端的认证信息
Range:实体的字节范围请求
Referer:对请求种URI的原始协助力
TE:传输编码的优先级
User-Agent:HTTP客户端程序的信息

2.http协议响应头作用是什么?几个常见的响应头?

响应头是从服务端向客户端返回响应报文的首部,补充了响应的附加内容、也会要求客户端附加额外的内容信息
常见的响应头:
Accept-Range:是否接受字节范围请求
Age:推算资源创建经过时间
ETag:资源的匹配信息
Location:令客户端重定向至指定URI
Proxy-Authenticate:代理服务器对客户端的认证信息
Retry-After:对再次发起请求的时机要求
Server:HTTP服务器的安装信息
Vary:代理服务器缓存的管理信息
WWW-Authenticate:服务器对客户端的认证信息

3.实体首部字段的作用是什么?几个常见的首部字段?

实体首部字段是针对请求报文和响应报文的实体部分使用的信息,作用是用于补充内容的更新时间等与实体相关的信息
常见的首部字段:
Allow:用于通知客户端能够支持Request-URI指定资源的所有HTTP方法,当服务器收到不支持的HTTP方法时,会以状态码405作为响应返回,同时还会把所有能支持的HTTP方法写入首部字段Allow返回。
Content-Encoding:告知客户端服务器对实体的主体部分选用的内容编码方式。内容编码方式指在不丢失实体信息的前提下所进行的压缩,主要采用4种内容编码方式:1.gzip;2.compress;3.deflate;4.identity
Content-Language:实体主体的自然语言
Content-Length:实体主体的大小
Content-Location:替代对应资源的URI
Content-MD5:实体主体的报文摘要
Content-Range:实体主体的位置范围
Content-Type:实体主体的媒体类型
Expires:实体主体过期的日期时间
Last-Modified:资源的最后修改日期时间

第五天

1.https的优点是什么?

使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器。由于HTTPS是将HTTP+加密+认证+完整性保护形成的,因此HTTPS协议由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性;

2.https的缺点是什么?

相同网络环境下,HTTPS协议比HTTP网络负载可能会慢到2到100倍,另外SSL必须进行加密处理,在服务器和客户端都需要进行加密和解密的运算处理。比HTTP会更多地消耗服务器和客户端的硬件资源,导致负载增强。
HTTPS协议的安全是有范围的,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL 证书的信用链体系并不安全。特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可行。
从成本方面看1. SSL的专业证书需要购买,功能越强大的证书费用越高。个人网站、小网站可以选择入门级免费证书;2. SSL 证书通常需要绑定 固定IP,为服务器增加固定IP会增加一定费用;3. HTTPS 连接服务器端资源占用高较高多,相同负载下会增加带宽和服务器投入成本;

3.http常用的认证方法有哪些?

http常用的认证方法有:BASIC认证、DIGEST认证、SSL客户端认证、FormBase认证
BASIC认证:
是从HTTP/1.0就定义的认证方式,是Web服务器与通信客户端之间进行的认证方式(客户端发送请求,服务端返回401要求认证,客户端将用户id和密码以Base64方式编码后发送,服务器认证成功后返回200成功状态码失败则返回401)
DIGEST认证:
为弥补Basic认证存在的弱点,从HTTP/1.1起就有了DIGEST认证,其同样使用质询/响应的方式,但不会像BASIC认证那样直接发送明文密码。(客户端发送请求,服务端发送临时的质询码(随机的)和401状态码要求认证,客户端发送摘要以及质询码计算出的响应码,服务器认证成功后返回200成功状态码失败则返回401)
SSL客户端认证:
是借由HTTPS的客户端证书完成认证的方式。凭借客户端证书认证,服务器可确认访问是否来自己登陆的客户端。

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

推荐阅读更多精彩内容

  • 本文是《图解HTTP》读书笔记的第二篇,主要包括此书的第六章内容,因为第六章的内容较多,而且比较重要,所以单独写为...
    lijiankun24阅读 1,356评论 0 6
  • Web 页面的实现 Web 基于 HTTP 协议通信 客户端(Client)的 Web 浏览器从 Web 服务器端...
    毛圈阅读 1,072评论 0 2
  • 作者:李成文;标签: http首部 HTTP报文首部 HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容...
    广州芦苇科技web前端阅读 1,085评论 0 0
  • 第一章、HTTP概述1、Web浏览器、服务器和相关的Web应用程序都是通过HTTP相互通信的,HTTP是现代全球因...
    横冲直撞666阅读 634评论 0 1
  • 1. SQL问题 2. 使用开源Office框架POI导出Excel问题 开始导出文件时,出现的错误如下链接:此文...
    MarkShen阅读 473评论 0 0