网路知识总结(session&&Cookie&&三次握手&&请求头)
1. 请说明Session和Cookie的作用和区别
1) Cookie 存在前端 前端需要拿着cookie访问后端,Session在服务器上(文件,数据库,如Redis)
2) web访问Server端-->server端对web信息加密生成Cookie返给web端,server端同时生成sessionId-->web带着cookie访问server端,server端进行验证
区别1:
1) cookie在客户端的头信息中
2) session在服务端存储,文件,数据库等都可以
区别2:
1) 一般来说session的验证需要cookie带一个字段来,表示这个用户是哪一个session,所以当客户端禁用cookie时,session失效
Cookie的总结:
1) cookie就是一小段的文本信息
2) 格式为key:value
3) cookie的值由服务端生成,客户端保存
2. 网路协议相关
网络协议分层-osi模型:
1) 应用层 :为应用程序提供服务
2) 表示层 :数据格式转化及机密操作
3) 会话层 :建立,管理和维护会话
4) 传输层 :建立,管理和维护端到端的连接
5) 网络层 :IP地址及路由选择
6) 数据链路层 :提供介质访问和链路管理
7) 物理层 :物理层,即物理设备
举例说明:
1) 老张向老王提供了一份货物及价格清单
2) 怕竞争对手公司看到给清单做了加密
3) 市场部整理后将报价清单放到收发室
4) 收发室将报价清单送到快递公司
5) 快递公司分发到不同的集散中心
6) 运输路线的规划及各集散中心访问方式
7) 通过汽车,火车,飞机等设备进行运输
osi五层协议及对应网络协议
1) 应用层(包括表示层,会话层):HTTP,HTTPS,FTP,SMTP
2) 传输层:TCP/UDP
3) 网络层: IP/ICMP
4) 数据链路层 : ARP/RARP
5) 物理层:MLT-3/PAM5
3.Http协议如何保证数据在传输过程中不丢失
Http三次握手
1) 客户端-->SYN=1(建立连接),Seq=x(随机产生的顺序号码)-->服务端
2) 服务端-->SYN=1,ACK=x+1(确认码),Seq=X(随机产生)-->客户端
3) 客户端-->SYN=1,ACK=Y+1(确认信息),Seq=z--->服务端
4) 建立连接,数据传输
Http四次挥手机制
1) 客户端 -->FIN=1(结束标语数据传完了可以关闭了),Seq=u-->服务端
2) 服务端 -->ack=u+1,Seq=v,ACK=1 --->客户端
3) 服务端 -->FIN=1,ack=u+1,Seq=w,ACK=1 -->客户端
4) 客户端 -->ack=w+1,Seq=u+1,ACK=1 -->服务端
5) 连接断开
4. 简要说明请求头中Accept\Accept-Encoding\Accept-language都代表了什么意思
HTTP协议信息头:常用请求头
1) Accept:这个头表示,浏览器告诉服务器它所支持的数据类型
2) Accept-Charset:这个头表示,浏览器告诉服务器它采用的字符集
3) Accept-Encoding:这个头表示,浏览器告诉服务器它所支持的压缩格式
4) Accept-language:这个头表示,浏览器告诉服务器它所采用的语言
5) Host:这个头便是,浏览器告诉服务器我想访问服务器哪台主机
6) If-Modified-Since:这个头表示,浏览器告诉服务器它缓存数据时间是多少
7) Referer:这个头表示,浏览器告诉服务器我是从哪个网页点过来的(防盗链)
8) User-Agent:这个头表示,浏览器告诉服务器我所使用的浏览器类型,版本等信息
9) Date : 这个头表示,浏览器告诉服务器我什么时间访问的
HTTP协议信息头:常用响应头
1) Location:告诉浏览器你去找谁,配合302状态码使用(转其他路径)
2) server :告诉浏览器服务器类型
3) Content-Encoding:告诉浏览器回送的数据采用的压缩格式
4) Content-Type:告诉浏览器回送的数据类型
5) Last-Modified:告诉浏览器数据的最后修改时间
6) Refresh:控制浏览器定时刷新
7) content-Disposition:告诉浏览器需要一下载方式打开回送的数据
8) Transfer-Encoding:告诉浏览器的数据是以分块形式回送的
网路知识总结(session&&Cookie&&三次握手&&请求头)的更多相关文章
- TCP基础知识(二)三次握手与四次挥手
TCP详解(2):三次握手与四次挥手 TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接,就好像你 ...
- 获取客户端IP地址的三个HTTP请求头的区别
一.没有使用代理服务器的情况: REMOTE_ADDR = 您的 IP HTTP_VIA = 没数值或不显示 HTTP_X_FORWARDED_FOR = 没数值或不显示 二.使用透明代理服务器的情况 ...
- 认证 协议 JWT OAuth Session Cookie
本文翻译自Auth-Boss. 如果有翻译的不恰当或不对的地方, 欢迎指出. 成为一个认证老司机, 了解网络上不同的身份认证方法. 本文档的目的是记录和编目Web上的身份验证方法.认证指的是创建一个系 ...
- session,cookie,sessionStorage,localStorage的相关设置以及获取删除
一.cookie 什么是 Cookie? "cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScrip ...
- TCP三次握手与防火墙规则
一个(tct)socket连接需要在客户端与服务端开启一个隧道,客户端提供一个端口(new时可指定,也可不指定,随机),服务端的端口和地址一定要指定.在win下,服务端创建监听端口时,防火墙会提示阻止 ...
- 【python爬虫】加密代理IP的使用与设置一套session请求头
1:代理ip请求,存于redis: # 请求ip代理连接,更新redis的代理ip def proxy_redis(): sr = redis.Redis(connection_pool=Pool) ...
- 知识记录——Session与Cookie
Session: Session是“会话”的意思,然而,因为http协议是无状态的,那么每次客户端请求服务器端,服务器端都会以“崭新”的页面展示给客户端,这在静态的html页面中是不会存在任何影响,但 ...
- {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...
- C#基础知识之理解Cookie和Session机制
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
随机推荐
- base64字符串转文件,以及ngImgCrop裁剪图片并上传保存到服务器示例
base64字符串是包含文件格式的文件字符串,例如:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAgAElE ...
- mysql存储过程 带参数 插入 操作
今天再次添补一下小小内容,闲话不多说,直入标题. 先来看下,如何创建带参数的 存储过程(ps:本文只限mysql5及以上版本) CREATE PROCEDURE prSaveFileInfo(Tabl ...
- 初学Shiro
Shiro Shiro是什么? Apache Shiro是Java的一个安全(权限)框架. Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境下,也可以用者JavaEE环境下 ...
- html文档知识补充
13.form表单(*******) 功能:前后数据交互,帮你提交任意的数据 input通过控制type属性来展示不同的获取用户输入的页面效果 type属性总结: text:纯文本 password: ...
- typescript中类的继承
typescript中类的继承用到的是:extends和super 先看一下typescript中类的写法: class Demo{ //类的属性 name:string; age:number; / ...
- Android视频录制从不入门到入门系列教程(一)————简介
一.WHY Android SDK提供了MediaRecorder帮助开发者进行视频的录制,不过这个类很鸡肋,实际项目中应该很少用到它,最大的原因我觉得莫过于其输出的视频分辨率太有限了,满足不了项目的 ...
- 好代码是管出来的——使用GitHub实现简单的CI/CD
软件开发一般来说是一项团队作业,在本系列文章开始就提到过软件的编码是由一个团队“并行”完成的,为了保证编码任务正常完成,首先引入版本控制工具来完成代码管理,为了保证代码质量引入了代码分析器以及代码测试 ...
- go的生产者-消费者模式
package main import ( "fmt" "math/rand" "time" ) // 数据生产者 func produce ...
- Redmine入门-安装
Redmine提供了两种方式安装,如果仅仅只是使用Redmine,建议采用一键安装的方式,快捷方便.如果需要做二次开发或者更多的个性化处理,可以采用源码安装方式,下面分别介绍两种安装方式. ----- ...
- 解决ajax跨域访问sessionid不一致问题
根据浏览器的保护规则,跨域的时候我们创建的sessionId是不会被浏览器保存下来的,这样,当我们在进行跨域访问的时候,我们的sessionId就不会被保存下来,也就是说,每一次的请求,服务器就会以为 ...