1. HTTP协议是无连接的

  • 网页操作--浏览器--Http协议--web服务器(appache/IIS)
  • 无连接的

    1. 每次连接只处理一个请求,服务器处理完并收到客户端应答,即断开连接
    2. 目的:节省传输时间
  • 无状态的

    对于事务处理不具备记忆功能

2. HTTP消息结构

  • 客户端(浏览器)发送请求

    请求行(请求方法、url、协议版本)、请求头、请求体

  • 服务器(appache/IIS)响应请求

    状态行(协议版本、状态码)、响应头、响应正文

3. 状态码

  • 常用

    200 OK; 301 url已转移;
    404 不存在;500 服务器错误

  • 分类

    1* 服务器要求继续操作
    2* 成功
    3* 重定向
    4* 客户端错误(url不存在、语法错误等)
    5* 服务器错误

4. cookie原理

  • 客户端发起请求时如果没有通行证,服务器就会在响应内容里给客户端颁发通行证;
  • 之后,客户端所有请求都附带通行证,这样服务器就知道当前请求是谁发出的
  • cookie与域名绑定,浏览器会识别域名,防止cookie被其他域名绑定
  • 每次请求都要携带cookie,因此cookie不能太过庞大
  • cookie通过键值对保存数据

    1. String name:cookie的名称,一旦创建不会变化
    2. Object value:cookie的值
    3. int maxAge:失效时间(单位秒,负数代表临时cookie,关闭浏览器即失效,为0表示将删除,默认-1)
    4. boolean secure:仅安全协议传输(默认false)
    5. String path:指定该域名下哪些路径可以使用该cookie(以/结尾)
    6. String domain:域名(以.开头)
    7. String comment:说明
    8. int version:cookie遵循的版本号(0或者1)
  • cookie保存用户名密码的三种方法

    1. 账号密码直接存在cookie,访问时直接与服务器数据库比较(方便,不安全)
    2. 密码加密保存在cookie,访问时解密与服务器数据库比较(也可以不保存密码,而是保存时间戳验证)
    3. 账号密码按照加密规则加密后一起保存在cookie,访问时验证加密规则是否匹配即可(无需查询数据库)

5. session原理

  • 服务器有个记录表,接收到客户端请求后,会在表中查找该客户,找不到就会记录一份客户信息内容,找得到就直接读取客户上次的状态。
  • 大量用户访问时,可能导致session过多而内存溢出,因此session内容也要尽量精简
  • 只有访问动态资源才会触发session,访问时无论是否读写session,session都会更新状态(时间)
  • session需要cokkie作为识别标志(不然还是不知道是哪个客户啊),使用session时,默认生成的cookie的maxAge值为-1(只在当前窗口有效)

http协议、cookie及session的更多相关文章

  1. HTTP协议--cookie、session、缓存与代理

    1 Cookie和 Session Cookie和 Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决 HTTP无状态的问题而所做的努力. Session可以用 Cook ...

  2. HTTP协议COOKIE和SESSION有什么区别

    1.为什么会有COOKIE这种机制 首先一种场景, 在一个网站上面, 我发起一次请求,那服务器怎么知道我是谁?是谁发起的这次请求呢,  HTTP协议是无状态的协议, 浏览器的每一次请求,服务器都当做一 ...

  3. HTTP协议-Cookie和Session详解

    前言: 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的跟踪技术就是Cookie和Session. Cookie通过在客户端记录信息确定用户身份,Session通过在 ...

  4. http无状态协议,cookie和session详解(一)

    1.HTTP无状态协议 首先看百度百科给出的定义: HTTP无状态协议,是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传, 这样导致可能每次连接传送的数据量增大 ...

  5. 记录:http协议+response+request+session+cookie

    1.http协议 http协议也叫作超文本传输协议,定义了浏览器向怎样向服务器请求资源和服务器怎样将资源传给浏览器.http协议是面向事务的应用层协议,是万维网能够传递资源的可靠保障. 目前http协 ...

  6. Cookie和Session的总结

    1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...

  7. django的cookie和session以及内置信号、缓存

    cookie和session cookie和session的作用: cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话.两者最大的区别是cookie的信息是存放在浏览 ...

  8. Cookie和Session的区别

    前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,就需要我们自己去解决这个问题.不然有些情况下即使是同一个网站我们每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题 ...

  9. Cookie与Session

    再说Cookie与Session之前,先要了解一下http协议. 何为http协议: http协议即超文本传输协议,一种基于浏览器请求与服务器响应的协议,该协议主要的特点就是它是一种无状态的协议(只针 ...

  10. 【转】Cookie和Session区别和联系详解

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

随机推荐

  1. Delphi IDHTTP控件:GET/POST 请求

    Delphi IDHTTP控件:GET/POST 请求   最近一直在使用IDHTTP,下面是一些关于 GET.POST 请求基本使用方法的代码 一.GET 请求 1 procedure GetDem ...

  2. ubuntu16.04 LTS把下载源改为阿里云的源

    为什么要切换下载源到国内的源上? Ubuntu的中国服务器下载速度很慢,我们可以尝试修改软件更新源,这样下载和更新软件的速度会加快很多. 一.linux系统版本: ubuntukylin-16.04- ...

  3. Windows核心编程:第12章 纤程

    Github https://github.com/gongluck/Windows-Core-Program.git //第12章 纤程.cpp: 定义应用程序的入口点. // #include & ...

  4. 一些小案例_C#

    下面是一些小的案例.(C#) 1,求一段数第n位 //1 1 2 3 5 8 求30位 //规律是前两位之和是第三位数, ;//定义第一位 ;//定义第二位 ;//总和 ; i < ; i++) ...

  5. 【BZOJ3160】 万径人踪灭(FFT,manacher)

    前言 多项式真的很难♂啊qwq Solution 考虑求的是一个有间隔的回文串,相当于是: 总的答案-没有间隔的答案 考虑总的答案怎么计算?FFT卷一下就好了. 对于每一位字符,有两种取值,然后随便卷 ...

  6. VS2017新建视图中文乱码解决办法

    问题:VS2017 ASP.NET Core 新建视频默认为ASNI编码格式 解决办法 1:直接将视图页面通过记事本打开,然后另存为UTF-8解决. 2:安装扩展TextTools解决视图文件编码问题 ...

  7. 【spring cloud】服务启动后正常,但是无法上线,一直处于down状态

    spring cloud eureka 如果出现某个应用实例 down(1), 说明 spring admin 健康检测没有通过导致 eureka 注册中心不会把这个实例从列表中删除掉. 这样所有使用 ...

  8. joi库 学习笔记

    零.背景 node.js 应用中,req.query / req.body 传来的参数需要做 valication( 合法性验证 ) 一.安装 https://github.com/hapijs/jo ...

  9. centos7上编译安装mysql5.6

    注意,在做实验室统一关闭防火墙做的,在生产环境需要做防火墙规则的,大家要注意,做的时候尽量都是模仿生产环境的,比如服务一般都在/data/soft下面,尽量避免在/usr/local/下面. 安装编译 ...

  10. 精通CSS 第1章

    一 标记简史 1 使用有意义的元素 2 ID和类名:ID是唯一的,而一个类名可以应用于多个元素.在写ID和类名时需要注意区分大小写,并使用统一的命名约定,比如完全小写+连字符分割,例andy-budd ...