HTTP协议相关

1.介绍一下网络七层模型,HTTP在哪一层?

2.概念

1.HTTP:超文本传输协议
基于TCP协议进行可靠传输,用于万维网上客户端和服务器之间的资源请求和传送

2.URL:统一资源定位符
他使每个文档在整个互联网范围内有唯一的标识符URL
一般形式是:协议名+://+主机名(域名/IP地址)+:+端口号/路径
(统一资源标识符:URI,URL是URI的子集)

3.HTML:超文本标记语言
是一种文档结构的标记语言,可以很方便的在网页文档中标记超链接,

2.HTTP的请求方法知道哪些?GET和POST有什么区别?

3.HTTP的状态码知道哪些?

状态码 典型状态码 含义
1XX 接收的请求正在处理
2XX 请求正常处理完毕
2XX 200 成功,请求正常处理完毕
2XX 203 请求处理完毕但是没有资源返回
3XX 重定向,需要进行附加操作
3XX 301 永久性重定向,资源被分配了新的URI
3XX 302 临时重定向,仅仅这次被更新为新的URI
3XX 303
4XX 客户端请求错误,使服务器无法处理请求
4XX 400 错误的请求
4XX 401 需要进行验证或者验证后失败
4XX 403 拒绝访问
4XX 404 没有找到URI
5XX 服务器发生错误,使服务器无法处理请求
5XX 500 服务器应用发生故障
5XX 503 服务器正忙

3.HTTP和HTTPS的端口号,常见应用层协议的默认端口号:

http: 80
https: 443
ftp:控制端口21,传输端口20
telnet远程登录:23
DNS:53
MySQL:3306

DNS占用53号端口,同时使用TCP和UDP协议。那么DNS在什么情况下使用这两种协议?

DNS在区域传输的时候使用TCP协议,其他时候使用UDP协议。

DNS区域传输的时候使用TCP协议:

1.辅域名服务器会定时(一般3小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动,会执行一次区域传送,进行数据同步。区域传送使用TCP而不是UDP,因为数据同步传送的数据量比一个请求应答的数据量要多得多。

2.TCP是一种可靠连接,保证了数据的准确性。

域名解析时使用UDP协议:

客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过三次握手,这样DNS服务器负载更低,响应更快。理论上说,客户端也可以指定向DNS服务器查询时用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。
————————————————
版权声明:本文为CSDN博主「1303575952」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/csdn_felix/article/details/80115475

4.HTTP的请求报文和响应报文的结构有哪些?cookie放在哪?

请求报文:请求方法,请求URI,协议版本作为第一行,下面是可选的http首部字段,然后用一个空行隔开,再后面是内容实体

结构 细分
报文首部 请求行:请求方法,请求URI,协议版本
--- 请求首部字段,像host指定主机名,accept用户可处理的信息类型等
--- 通用首部字段:像connection-keepalive,upgrade升级等
--- 实体首部字段:像Content-Type,length,language等等
--- 其他:比如DNT禁止追踪
空行隔开 包括'\r\n',回车0x0d和换行0x0a
POST: /form/entry  HTTP/1.1  #方法,URI,协议版本

HOST: 
Connection: keep-alive  
Content-Typr:
Content-Length:16#可选的首部字段

#内容实体

响应报文:协议版本,状态码,状态码对应的原因短语,响应首部字段,主体

HTTP/1.1 200 OK# 协议版本,状态码,状态码的解释短语
Date:
Content-Length:362  
Content-Type: text/html#响应的首部字段

<html>#主体信息

Cookie放在首部字段的Cookie字段,除此之外还有Set-Cookie字段存放Session ID

5. cookie和session

因为http是无状态的协议,这样就无法对状态进行保存,比如登录认证的web页面,于是就有cookie用于在客户端保存状态,session用于在服务端保存状态。
cookie
cookie机制会根据响应报文中的set-cookie首部信息通知客户端保存cookie,客户端会在下一次请求报文的首部中加入cookie字段的对应id号

session
Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。

6.HTTP1.1和HTTP1.0

1.HTTP1.1默认使用HTTP长连接
只要任意一端不提出断开请求,就保持TCP连接状态不断开
减少了TCP连接重复建立和断开造成的额外开销,减轻服务器端的负载,也节约了时间
这样使得多请求可以以管道化的方式并行传输,不用等待就可以发送下一请求

其他的:https://blog.csdn.net/forgotaboutgirl/article/details/6936982
2.HTTP/1.1中在请求消息中引入了range头域,它允许只请求资源的某个部分

7.HTTPS和HTTP

1.HTTP
因为
HTTP明文通信,有窃听风险;
不验证通信方的身份,产生可能会有一方伪装的问题;
HTTP报文不验证报文完整性,可能被篡改

2.HTTPS=HTTP+报文加密+通信方验证+报文完整性保护
相当于在HTTP层和TCP层之间加了一层SSL和TLS协议
------报文加密-------
加密方法:HTTPS采用对称和非对称两种密钥并用的混和加密机制,在交换密钥的环节使用非对称方式,之后的报文通信中使用对称加密方式,这样可以提高效率
为了解决非对称密钥中的公开密钥被替换的问题,需要用数字证书认证的方法,比如说服务器把公开密钥给到数字证书认证机构获取公钥证书传给客户端,客户端收到公钥证书,拿里面的公钥向数字证书认证机构验证证书里的数字签名,是真的那双方就统一了,就可以用这个公钥进行对称加密的传输。
------通信方验证-------
用数字证书的方式得以验证
------报文完整性-------
SSL会在应用层数据上附加MAC的报文摘要,可以检查到报文是否被篡改。

4.HTTPS的安全通信--SSL四次握手
在HTTP链接建立之前进行四次握手,从而客户度和服务端沟通好HTTP传输时对称加密的密钥
1、客户端请求建立SSL链接,并向服务端发送一个随机数–Client random和客户端支持的加密方法,比如RSA公钥加密,此时是明文传输。
2、服务端回复一种客户端支持的加密方法、一个随机数–Server random、授信的服务器证书和非对称加密的公钥。
3、客户端收到服务端的回复后利用服务端的公钥,加上新的随机数–Premaster secret 通过服务端下发的公钥及加密方法进行加密,发送给服务器。随后也会发送加密方法提示报文和finished报文
4、服务端收到客户端的回复,利用已知的加解密方式进行解密,同时利用Client random、Server random和Premaster secret通过一定的算法生成HTTP链接数据传输的对称加密key – session key,服务器同样会发送加密方法提示报文和finished报文。

在finished报文交换之后,就用应用层协议HTTP来通信,但是HTTP会受到SSL的保护,且此后的HTTP链接数据传输即通过对称加密方式进行加密传输。

5.HTTPS应用
比如Web的登录页面和购物结算的页面使用HTTPS,这种需要安全性保护的场景都需要HTTPS

为什么不一直用HTTPS呢?
1.加密和解密需要消耗CPU和内存资源,负载增加
2.HTTPS中的SSL会对数据做处理,消耗网络资源,增加通信的负担
3.节约购买数字证书的成本

10.当我们在浏览器输入URL以后的过程介绍一下,这一过程用到了网络各层哪些协议列举一下

1.浏览器向DNS域名系统请求解析URL的IP地址
2.浏览器得到IP地址之后与相应服务器建立TCP连接(默认端口号80)
3.接着浏览器发送一个HTTP请求报文给服务器
4.服务器处理了请求报文后,通过HTTP响应报文把HTML文件发送给浏览器
5.TCP连接进行释放
6.浏览器解释文件html文件,也就是解析渲染页面
用到的协议有:
应用层:HTTP和DNS
运输层:TCP和UDP(因为HTTP底层用的TCP,DNS底层用的UDP)
网络层:IP:IP封装分片等;ICMP提供网络传输中的差错检测;ARP协议把IP地址映射成MAC地址

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