摘要:
面试官:你是怎理解http的,以及http协议具体包含哪些内容
正文:
http是超文本传输协议,请求/响应报文、连接建立流程、http的特点,这些构成http的全部内容。
平时我们被问到的get/post、状态响应码这都是和http 请求/响应报文紧密相关的。
一、请求报文格式:
由三部分组成,1、请求行2、首部字段区3实体主体
一般在get请求的情况下是不带有实体主体的,post有实体主体
响应报文格式:
也是由三部分组成,1、响应行;2、首部字段区;3实体主体
回答面试官什么是http,要回答请求报文、响应报文的组成。
二、http的请求方式有哪些?
get、post、head、put、delete、options
三、get和post方式的区别
初级开发者可以这样但是并不是面试官满意的答案,那么我们应该从哪些角度回答这个问题,标准答案我们应该从语义的角度来回答。
语义:
语法:
那么各个代表的什么意思?
安全性:不应该引起server端的任何状态变化,比如通过get方式获取资源,多次获取不会引起server的端的变化,常见的遵从安全的请求方式有:get、head、options
幂等性:同一个请求方法执行多次和执行一次的效果完全相同。put、delete
可缓存性:请求是否可以被缓存
四、状态码
问题:了解哪些状态码,他们的含义是什么?
1xx:
2xx:
3xx:
4xx:
5xx:
五、连接建立流程
问题:连接过程会有哪些步骤呢,(涉及到三次握手、四次挥手)
tcp的三次握手连接过程
tcp的四次挥手进行连接的释放