1. 说说HTTP常用的状态码及其含义?
2. HTTP 常用的请求方式,区别和用途?
3. 请简单说一下你了解的端口及对应的服务?
4. 说下计算机网络体系结构
讲讲osi七层模型每层的含义
应用层:网络服务与最终用户的一个接口,常见的协议有:HTTP FTP SMTP SNMP DNS.
表示层:数据的表示、安全、压缩。,确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取
会话层:建立、管理、终止会话,对应主机进程,指本地主机与远程主机正在进行的会话
传输层:定义传输数据的协议端口号,以及流控和差错校验,协议有TCP UDP.
网络层:进行逻辑地址寻址,实现不同网络之间的路径选择,协议有ICMP IGMP IP等.
数据链路层:在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路。
物理层:建立、维护、断开物理连接。
5 如何理解HTTP协议是无状态的
当浏览器第一次给服务器发送请求时,服务器会回应。但是再次发送请求时,服务器也会回应,但是它并不知道是谁发送过来的。简言之,服务器不会去记住你是谁,所以是无状态协议。
6.从浏览器地址栏输入url到显示主页的过程
涉及到dns解析,tcp的三次握手,http请求传输,服务器处理请求并返回网页内容,浏览器解析并渲染页面,四次挥手等知识点。
7. 说下HTTP/1.0,1.1,2.0的区别
HTTP/1.0默认是短连接,可以强制开启,HTTP/1.1默认长连接,HTTP/2.0采用多路复用
短链接:每次请求都需要建立一个TCP连接。 http1.0可以通过设置Connection: keep-alive
这个字段,强制开启长连接。TCP连接是一个双向的通道,它是可以保持一段时间不关闭的,因此TCP连接才具有真正的长连接和短连接这一说法
多路复用:在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。
8. POST和GET有哪些区别?
http链接超时机制
HTTP一般会有httpd守护进程,里面可以设置keep-alive timeout,当tcp连接闲置超过这个时间就会关闭,也可以在HTTP的header里面设置超时时间
9.HTTP 与 HTTPS 的区别。
HTTP,即超文本传输协议,是一个基于TCP/IP通信协议来传递明文数据的协议。HTTP会存在这几个问题:
-
请求信息是明文传输,容易被窃听截取。
-
没有验证对方身份,存在被冒充的风险
-
数据的完整性未校验,容易被中间人篡改
https,可以