前端面试题--------浏览器篇

说一下http和https

1.http和https的主要概念
http:http是超文本传输协议,是互联网上使用最为广泛的一种传输协议,是客户端和服务端请求和应答的标准(TCP)
https:简单的说就是http的加密版本,在http下加上了ssl。http安全的基础就是ssl。

1.http和https的主要区别
1.https协议需要ca证书,费用较高
2.http是超文本传输协议,信息文明传输的,https是具有安全性的ssl的加密传输
3.使用的链接和端口不同,http一般是使用的端口是80,而https使用的是443端口
4.http的协议是无状态的,

1.https的优点和缺点
优点:https基于ssl进行加密的,在传输过程中比较安全,信息不容易被窃取,改变,可确保信息的完整。
缺点:握手比较费时,加载时间会增加大约50%左右。加密性越强的费用越高,https的缓存比不上http

tcp三次握手

用一句话就是说;客户端和服务端都需要各自的收发;
例如:
加载一个图片,客户端给服务端发送一个请求,客户端会给服务端发送一个数据包,这是第一次握手。
服务端收到客户端的数据包,会响应给客户端请求的数据,客户端接受到服务端响应的数据这是第二次握手。
客户端接收到响应数据包以后,会响应给服务端告诉他我接收到了。这是第三次握手。前端面试题--------浏览器篇_第1张图片

TCP和UDP的区别

1.TCP是面向连接的,尔UDP是无连接,及发送数据前不需要先进行连接
2.TCP是面向连接的可靠性传输,而UDP是不可靠的。
3.TCP只能1对1,UDP可以1对1,也可以1 对多
4.TCP面向字节刘,UDP面向报文流 并且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用比如IP电话和视频会议等)。
5.TCP首部字节较打20字节,UDP只有8字节

介绍知道的http返回的状态码

100:Continue  继续  客户端继续对其请求  
101:Switching Protocols   切换协议 。服务器根据客户端的请求切换协议,只能向更高级版本去切换。
200:ok   请求成功   一般是指post请求或者get请求
201  		已创建       请求成功,并创建了新的请求
202        拒绝执行  请求成功,但是拒绝执行
203     非授权信息,原来的meta信息不在原始的服务器,只是一个副本
204     请求处理成功,但是没资源返回
205     重置内容,返回此状态码,客户端可以重置表单内容
206     请求部分内容   请求成功,但服务端只获取到一部分内容
300    多种选择,有不同的资源路径
301    永久重定向     后面所有请求都变成新的url
302    临时重定向     后面的请求还是会使用老的url
303    查看地址   和301比较像
304   未修改   ,资源未修改成功,会返回此状态码, 返回资源为空
305  使用代理   请求都会被代理
306  废弃的状态码
307   临时重定向   像302一样
400   客户端请求语法错误,服务端不能理解
401   合法请求,请求需要验证
402   未使用
403   合法请求  请求页面被禁止访问
404   请求页面不存在
405  请求中的方法不允许
406  服务端响应的内容无法被客户端接受
407  用户必须先使用代理进行身份验证后才能使用
408  请求超出服务器等待时间
409   有冲突,请求无法完成
410   请求页面不可用
411  如果无此内容,服务器不会接受此请求
412    请求中的前提条件被服务器评估失败
413   请求实体过大,请求不被服务器接受
414   url太长,请求不被服务器接受。一帮get会出现这种情况
415   媒介类型不被支持,服务器不会接受请求。

强缓存,协商缓存

缓存分为强缓存和协商缓存(弱缓存)都是根据资源的header的内容去判断的
强缓存相关字段有expires,cache-control。如果cache-control与expires同时存在的话,cache-control的优先级高于expires。
协商缓存相关字段有Last-Modified/If-Modified-Since,Etag/If-None-Match

post和get区别

get请求是像某一地址请求数据
post是向某一地址提交要被处理的数据
post和get都是TCP连接
get的请求大小2-8k,常见的更为小1K以内
get请求会把http和header还有data一起发过去,响应成功以后返回200(返回数据)
post 是把header先发出去,服务器响应100 ,在接着发出data,服务器响应200 ,(返回数据)

你可能感兴趣的:(前端,http,https)