网路知识总结(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通过在服务器端 ...
随机推荐
- Android远程桌面助手(B1309)
修改了窗口缩放的处理,支持Android Car等非常规分辨率的Android设备: 修改了获取Android端软件版本的方法,优化了APK的升级逻辑: 优化了远程输入法功能,支持利用PC端输入法快速 ...
- 测者的测试技术手册:测试应该关注java.util.List.subList的坑
java中有一个返回子列表的方法: public list<E> subList(int fromIndex, int toIndex){ subListRangeCheck( ...
- 做优化的数据库工程师请参考!CynosDB的计算层设计优化揭秘
本文由云+社区发表 本文作者:孙旭,腾讯数据库开发工程师,9年数据库内核开发经验:熟悉数据库查询处理,并发控制,日志以及存储系统:熟悉PostgreSQL(Greenplum,PGXC等).Terad ...
- yum 安装 python-pip 失败解决方法
这个包在EPEL源里,要添加EPEL源才可以.然后按博客里说的方法添加,执行以下命令: sudo rpm -ivh epel-release* 第一种方式:由于epel在禁用列表里需要另外加参数yum ...
- redis报错:java.net.SocketException: Broken pipe (Write failed); nested exception is redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Broken pipe (Write failed)
最近写了一个服务通过springboot构建,里面使用了redis作为缓存,发布到服务器运行成功,但是有时候会报redis的错误:org.springframework.data.redis.Redi ...
- [ gczdac ] HDU1000
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1000 Problem Description Calculate A + B. Input Eac ...
- Vue笔记(props和 mounted)
1.mounted 1.1mounted中使用$nextTick会导致页面挂掉 mounted() { // 页面卡死 this.$nextTick(() => { this.setUrl() ...
- 把流的形式转化为Base64
public class Test2 { public static String get() throws IOException { InputStream resourceAsStream = ...
- 简介---linux内核态和用户态
内核态:进程运行在内核空间:管理系统的所有资源,比如读写磁盘文件,分配回收内存,从网络接口读写数据等等 用户态:进程运行在用户空间.比如一些应用程序 内核如何调用硬件资源的:内核空间中的代码控制了硬件 ...
- CMake与Make最简单直接的区别 [转]
写程序大体步骤为: 1.用编辑器编写源代码,如.c文件. 2.用编译器编译代码生成目标文件,如.o. 3.用链接器连接目标代码生成可执行文件,如.exe. 但如果源文件太多,一个一个编译时就会特别麻烦 ...