一. 概念:
http协议: 超文本传输协议 ,支持客户/服务器模式,无连接,无状态, 明文方式发送,对器客户端和服务器端之间数据传输的格式规范
二. 组成:
请求报文 (行,头,体)
1)请求行:请求方式,url,HTTP版本协议
响应报文(状态行,头,体)
1)状态行:http版本,状态码,~
三. http协议无状态协议的概念:
对于事务处理没有记忆能力,解决方法:Cookie或者Session会话保存
四. 协议中前端常用的请求方法?
1)get :向特定的资源发出请求
2)post :提交数据进行处理请求,新的资源的创建和/或已有资源的修改
3)put :上传其最新内容
4)delete :请求服务器删除 Request-URI 所标识的资源
5)options :返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向Web服务器发送'*'的请求来测试服务器的功能性
6)hend :获得报文头部,一般用于验证URL是否有效
扩展: get 与post请求的区别? 安全性(get的url可见),get 获取数据,post发送数据 ,数据传输大小,
五. Http与Https的区别:
HTTPS 的安全基础是 SSL。SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持
HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全
六. cookie 与localStorage,sessionStorage的概念:
1) cookie: 可覆盖性, 每条cookie的存储空间为4k
2) localStorage: 永久性存储(5M),对字符串的读取,爬虫抓取不到 ,json对象类型转换(存JSON.stringify(object) | 取JSON.parse()),ie8以上支持
3) sessionStorage: 当会话结束的时候,中的键值对会被清空
七. http协议实现的原理机制:
1)整个流程步骤:域名解析->发起TCP的三次握手->发送http请求->服务器相应请求并得到HTML代码->浏览器解析html代码,并请求html中的资源(js,css,图片等)->浏览器对页面进行渲染呈现出来
2)三次握手的概念:
第一次握手:建立连接时,客户端发送syn(syn=x)包到服务器,等待服务器确认
第二次握手:服务器收到syn包,必须确认客户的syn(ack=x+1),同时自己也发生一个syn(syn=y)包,即syn+ack
第三次握手: 客户端收到服务器的返回的syn+ack包, 向服务器发送确认ack(ack=y+1)包,次包发送完毕,tcp链接成功,完成三次握手
3)四次挥的概念
八. http 头部字段: