HTTP协议相关面试题
HTTP 简介:
HTTP 协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议;
HTTP 是一个基于TCP/IP通信协议来传递数据(HTML文件、图片文件、查询结果等)
对客户端和 服务器端之间数据传输的格式规范,格式简称为"超文本传输协议"。 HTTP工作原理:
HTTP协议工作于客户端-服务端架构上,浏览器作为HTTP客户端通过URL向HTTP服务端发送所有请求。
web服务器有:Apache 服务器、lls服务器等;
HTTP默认端口号为80,但是也可以改为8080或者其他端口 概念1.HTTP的优点和缺点?
优点: 支持客户/服务器模式: 应用广泛且跨平台: 简单快速、灵活:
缺点: 无连接:是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间 无状态:无状态可以减轻服务器负担,但进行关联操作时繁琐,Cookie正好可以解决这个问题 明文传输:调试便利的同时带来了信息易被窃取 不安全:(HTTPS通过引入SSL/TLS层,解决了这个隐患) 2.请求类型Get与Post之间的区别?区别一:
get重点在从服务器上获取资源,
post重点在向服务器发送数据; 区别二:
get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等;
== post较get安全性较高;== 区别三:
get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;
post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的 区别四:
Get传输的数据量小,因为受URL长度限制,但效率较高;
Post可以传输大量数据,所以上传文件时只能用Post方式; 区别五:
get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。
post支持标准字符集,可以正确传递中文字符。 3.HTTP与HTTPS的区别?
HTTPS:是以安全为目标的 HTTP 通道,是 HTTP 的安全版。HTTPS 的安全基础是 SSL。SSL 协议位于 TCP/IP
协议与各种应用层协议之间,为数据通讯提供安全支持。 区别
HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
HTTP和HTTPS 使用完全不同的连接方式,所用的端口不同,前者是80 端口,后者是 443端口 4.常见HTTP的状态码有哪些?200 – 请求成功 301 – 资源(网页等)被永久转移到其它URL 404 – 请求的资源(网页等)不存在 500 – 内部服务器错误 5. HTTP常见的字段有哪些?URI&URL:
1.URI:统一资源标识符,不仅可以标识http,ftp等其他的网络资源
2.URL:统一资源定位符 请求头:
1.GET :获取一个资源,同时参数直接跟在URL后面,url长度受限制2048字节
2.POST:不仅可以获取资源,还可以提交资源(譬如上传文件),参数放在请求体中,包大小4G
3.HEAD:只要响应头,没有响应体,通常用于测试URL是否存在
4.DELETE:删除一个资源
5.PUT:通常修改一个资源 响应头:
1.Content-Length:响应体的长度
2.Server:服务器的信息
3.Content-Type:内容的类型,text/html,xml等
4.Last-Modified :最有的修改日期,通常跟缓存相关 20151108
5.Location: 新的地址 响应码:
200 OK 访问正常
206 跟断点续传相关
3XX 重定向:Location
304 缓存有效
307 临时重定向
4XX 客户端问题
401 代表没有权限访问
404 代表访问的资源不存在
5XX 通常服务器内部处理的问题 6.什么是Http协议无状态协议?怎么解决Http协议无状态协议?
(1)、无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息
(2)、无状态协议解决办法: 通过1、Cookie 2、通过Session会话保存。 7、Http协议由什么组成?
请求报文包括三部分:
(1).请求行:包含请求方法,URI,HTTP版本协议
(2).请求首部字段
(3).请求内容实体
响应报文包含三部分:
(1).状态行:包含HTTP版本,状态码,状态码原因短语
(2).响应首部字段
(3).响应内容实体 7、请谈谈你对"三次握手与四次挥手"的理解并说说作用?
三次握手:
1、第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN(c)。此时客户端处于 SYN_Send 状态。
2、第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s),同时会把客户端的 ISN + 1 作为 ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_REVD 的状态。
3、第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 establised 状态。
服务器收到 ACK 报文之后,也处于 establised 状态,此时,双方以建立起了链接。
三次握手的作用:
1、确认双方的接受能力、发送能力是否正常;
2、指定自己的初始化序列号,为后面的可靠传送做准备;
3、如果是 https 协议的话,三次握手这个过程,还会进行数字证书的验证以及加密密钥的生成到。
四次挥手:
1、第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于FIN_WAIT1状态。
2、第二次握手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 + 1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT状态。
3、第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态。
4、第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 + 1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态
服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。 8、HTTP优化
利用负载均衡优化和加速HTTP应用
利用HTTP Cache来优化网站 9、 什么是Http协议无状态协议?怎么解决Http协议无状态协议?
无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息
也就是说,当客户端一次HTTP请求完成以后,客户端再发送一次HTTP请求,HTTP并不知道当前客户端是一个"老用户"。
可以使用Cookie来解决无状态的问题,Cookie就相当于一个通行证,第一次访问的时候给客户端发送一个Cookie,
当客户端再次来的时候,拿着Cookie(通行证),那么服务器就知道这个是"老用户"。 10、URI和URL的区别Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的
URI一般由三部组成:
①访问资源的命名机制
②存放资源的主机名
③资源自身的名称,由路径表示,着重强调于资源。 URL是uniform resource locator统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。
采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。URL一般由三部组成:
①协议(或称为服务方式)
②存有该资源的主机IP地址(有时也包括端口号)
③主机资源的具体地址。如目录和文件名等
浏览器神器油猴使用教程百度网盘高速下载就有使用到油猴脚本。那么来介绍一下如何操作安装1。安装脚本管理插件Tampermonkey是一款浏览器脚本管理插件,常见浏览器都支持,结合脚本网站Greasyfor
宝马3系终于换代了!帅得掉渣还有8AT混动,油耗仅1。7L媲美日系如今的新能源汽车可谓是来势汹汹,但等它们真正普及还需要一定的时间,在这个过程中混合动力的车型无疑充当了新能源推广员的角色,对纯电动车不太感兴趣的朋友不妨可以关注一下。这其中日系车企
是无人枪还是无人机?俄罗斯放出AK47无人飞行器视频近日,俄罗斯本地媒体放出一段无人机飞行视频,乍一看平平无奇,细看之下才发现该无人机实则是一把无人步枪飞行器,这支飞行步枪不由得让人联想到大名鼎鼎的卡拉什尼科夫AK47。放出的视频片
遭华为公开嘲讽,三星回怼我们才是第一(观察者网讯文一鸣)在3月26日的华为发布会上,余承东公布了P30Pro的DxOMark成绩。成绩显示,华为P30Pro后置相机总分为112分,成为迄今为止拍照成绩最好的智能手机同
博鳌论坛上各国政要不约而同提出要学习中国这个软件3月26日,博鳌亚洲论坛2019年年会在海南博鳌召开,本届年会主题为共同命运共同行动共同发展。作为非官方非营利性定期定址的国际组织,论坛为政府企业及专家学者等提供一个共商经济社会环
马化腾有了一张新王牌它低调地赶超华为谷歌,已跻身亚太前四近些年来,随着全球高科技的快速发展,云计算人工智能大数据等很多新鲜的高科技词汇逐渐走入我们的视线之中。很多高新技术已经不仅仅停留在概念的层面上,它们已经在我们的生活中发挥了潜移默化
滴滴司机的月收入一般在多少?滴滴司机的收入,在每个城市都不一样,差别很大,这是拿不准具体数字的,就拿最基本的起步价来说,我所处的这个城市是8元司机到手6。8元,城市不大不小,所以收入较低,如果再加上堵车,就如
车上这4个橡胶部件,老化了别忘记更换,严重的或会影响行车安全本文章已经通过区块链技术进行版权认证,禁止任何形式的改编转载抄袭,违者追究法律责任汽车构造中最多的是金属零部件,但是还有许多橡胶零部件在汽车构造中起了不可磨灭的作用,例如密封条皮带
小米米家智能门锁1299元,方便安全的家庭守护神现代化的生活离不开电子产品,高科技更是普及到了家家户户,常用的电视冰箱洗衣机不算,已经是家家必备的生活用品了,现在又一款高科技电子产品也开始逐渐步入每家每户,那就是智能门锁。以往家
共享单车找回员活少钱多是真的吗?共享单车找回员活少钱多是真的吗。如今共享单车越来越多,使用共享单车的市民也随之增多,但是同样的有人为了方便自己,私自乱停甚至直接搬回家,被毁坏的共享单车更是数不胜数。而单车公司为了
一种比拼音打字更快的输入法,为何却很少有人用随着科技的发展,电脑和手机也已经成为了无比寻常的东西。无论是在手机还是电脑上,输入法成为了必不可少的工具,因为应用人群各不相同,所使用的输入法也大相庭径。众所周知,拼音是当前时代的