关于网络的面试题包括HTTP协议、HTTPS与网络安全、TCP/UDP、DNS解析、Session/Cookie。
请求方法:GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT
HTTP:超文本传输协议
请求报文
请求行:方法字段、URL字段和HTTP协议版本
请求头:User-Agent,产生请求的浏览器类型。Accept,客户端可识别的内容类型。Host,主机地址。
实体数据:GET请求不会把数据放在这里,POST会把数据以key value形式发送请求
响应报文
状态行:
消息报头:
响应正文:
GET和POST方式的区别:
GET请求参数以?分割拼接到URL后面,POST请求参数放在Body里面。
GET参数长度限制在2048个字符,POST一般没有限制。
GET请求不安全,POST请求比较安全。
标准答案——从语义的角度来回答
GET:获取资源,安全的、幂等的、可缓存的。
POST:处理资源,不安全的,非幂等的、不可缓存的。
安全性:不应该引起Server端的任何状态变化。常见的有GET、HEAD、OPTIONS。
幂等性:同一个请求方法执行一次和多次效果完全相同。常见的有PUT、DELETE。
可缓存性:请求是否可以被缓存。
状态码~~~~~~
连接建立流程
建立连接(三次握手):
断开连接(四次挥手):