网络篇
访问一个完整http请求会经历哪些问题
-
域名解析
-
发起TCP的3次握手
-
建立TCP连接后发起http请求
-
服务器端响应http请求,浏览器得到html代码
-
浏览器解析html代码,并请求html代码中的资源
-
浏览器对页面进行渲染呈现给用户。
具体每一步骤可以参考https://www.cnblogs.com/YeChing/p/6337378.html
https和http请求的区别
-
https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
-
http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
-
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
-
http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议
按加密来说涉及到了非对称加密以及证书CA的处理,具体可以自行搜索了解下
https://www.cnblogs.com/wqhwe/p/5407468.html
tcp/ip五层协议有什么,每层的作用
https://mp.weixin.qq.com/s/nwk_3uJd_edRD1h9YxPvzA
可能会问你,http协议位于第几层,还有就是tcp协议位于第几层。
http在应用层,负责数据的包装,tcp位于传输层负责数据传输
顺便可以看看OSI七层协议
http://www.ha97.com/3215.html
http有哪些请求方式,get和post请求有什么区别
-
get重点在从服务器上获取资源,post重点在向服务器发送数据;
-
get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;
-
Get传输的数据量小,因为受URL长度限制,但效率较高,Post可以传输大量数据,所以上传文件时只能用Post方式;
-
post较get安全性较高,get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等.
-
get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码,post支持标准字符集,可以正确传递中文字符。
http请求和http响应包含哪些内容
请求报文包含三部分:
a、请求行:包含请求方法、URI、HTTP版本信息
b、请求首部字段
c、请求内容实体
响应报文包含三部分:
a、状态行:包含HTTP版本、状态码、状态码的原因短语
b、响应首部字段
c、响应内容实体
TCP的三次握手过程、四次挥手过程
http://blog.csdn.net/omnispace/article/details/52701752
还有就是问为什么是三次握手,四次挥手
Socket编程了解么,应用在哪些地方
可以把 WebSocket 看成是 HTTP 协议为了支持长连接所打的一个大补丁。WebSocket是HTML5下一种新的协议。它实现了浏览器与服务器全双工通信。最大不同是:
WebSocket是一种双向通信协议。在建立连接后,WebSocket服务器端和客户端都能主动向对方发送或接收数据,就像Socket一样;
WebSocket需要像TCP一样,先建立连接,连接成功后才能相互通信
一个使用WebSocket应用于视频的业务思路如下:
使用心跳维护websocket链路,探测客户端端的网红/主播是否在线
设置负载均衡7层的proxy_read_timeout默认为60s
设置心跳为50s,即可长期保持Websocket不断开
http请求的状态码一般有哪些?3开头的一般是指什么
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
如果一个网址无法访问,怎么排查什么原因
ping www.xx.com
或者浏览器访问一般都会有返回结果502等
如果有正在看直播的用户,反馈太卡,有可能什么原因,怎么定位问题
如果有正在看直播的用户,反馈太卡,有可能什么原因,怎么定位问题
自己网速慢,测速;或者内存不足,查看本机内存情况;网页缓存过多,清空;电脑中毒了;浏览器版本过低。
WSGI和FastCGI的区别
https://www.biaodianfu.com/cgi-fastcgi-wsgi.html
抓包工具的使用
如charles设置代理抓app的包等,压力测试,模拟弱网情况等,重定向,更改请求。
http://blog.csdn.net/zhangxiang_1102/article/details/77855548
cookie与session区别
cookie数据存放在客户的浏览器上,session数据放在服务器上;
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session;
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用COOKIE;
单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K;
Cookie和Session的方案虽然分别属于客户端和服务端,但是服务端的session的实现对客户端的cookie有依赖关系的,上面我讲到服务端执行session机制时候会生成session的id值,这个id值会发送给客户端,客户端每次请求都会把这个id值放到http请求的头部发送给服务端,而这个id值在客户端会保存下来,保存的容器就是cookie,因此当我们完全禁掉浏览器的cookie的时候,服务端的session也会不能正常使用
Tcp与udp区别
http://blog.csdn.net/li_ning_/article/details/52117463
TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接TCP提供可靠的服务。
TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
TCP首部开销20字节;UDP的首部开销小,只有8个字节
TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道(待续)