TCP/IP分层:应用层,传输层,网络层,数据链路层。
应用层:http数据
传输层:tcp首部
网络层:IP首部
链路层:以太网首部
OSI模型
应用层:网络服务与最终用户的一个接口,为应用程序提供服务。HTTP,HTTPS,FTP,POP3,SMTP
表示层:数据格式转化,数据加密。提供各种用于应用层数据都编码和转换功能
会话层:建立,管理,维护,终止表示层实体之间的通信会话
传输层:建立了主机端到端的链接,为上层协议提供端到端的可靠和数据传输服务,包括处理差错控制和流量控制 TCP UDP
网络层:通过IP寻址来建立两个节点之间的链接,IP协议层
数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。
物理层:通过物理介质传输比特流。
HTTP/1.0, HTTP/2.0 支持的方法
get 获取资源。 1.0/1.1
post 传输实体主体 1.0/1.1
put 传输文件。 1.0/1.1
Head 获取报文首部 1.0/1.1
delete 删除文件 1.0/1.1
options 询问支持的方法 1.1
Trace 追踪路径 1.1
connect 要求用隧道协议连接代理 1.1
link 建立和资源之间的联系 1.0
Unlink。 断开连接关系。 1.0
状态码
2xx :成功
3xx :重定向(特殊。 304 找到资源但无符合条件的资源)
4xx :客户端错误
5xx :服务器错误
cache-Control
No-cache :不缓存过期资源
No-store:不缓存
HTTP认证方式
BASIC认证:用户id和密码 base64编码后发送
DIGEST认证:质询/响应方式,使用从另一方接收到的质询码计算生成响应码
SSL客户端认证:借由HTTPS的客户端证书完成认证的方式(一般需要支付费用)
FormBase认证:将客户端发送发送过来的id和密码和之前的登陆过的信息做匹配来认证(大部分使用这种方式)
1.ID和密码放入报文实体部分,通常以post方法吧请求发送到服务器,而这时会使用https通信来进行HTML表单画面到显示和用户输入数据到发送
2.服务器回发放用以识别用户的sessionid,通过客户端发送过来的登陆信息进行身份认证,然后把用户的认证状态于sessionID绑定后记录在服务器端。向客户端返回响应时,会在首部字段set-cookie内写入sessionID
3.客户端接收到sessionID后,会将其作为cookie保存在本地。下次向服务器发送请求时,浏览器会自动发送cookie,所以sessionid也随之发送到服务器。