• 黑马程序员学习8


    session
    viewstate
    cookie


    前台 html javascript 后台asp.net,能在前台就尽量在前台写代码
    后台完成数据库的访问,数据存储,复杂的业务逻辑运算等
    网页只认识html格式,asp.net下载客服端的代码都被翻译成了html代码
    也就是说asp.net端的控件和html的控件可以混着写,没有关系的,最终都会生成html的代码模块,这个可以在页面运行中查看源代码

    asp.net控件被翻译成了html,其实就是html控件
    格式,层,控制什么的都可以用


    <asp:控件名称></asp:控件名称>
    runat=“sever”  表示是服务器端控件
    website(网站) 改了后台C#代码后直接刷新就可以了,没有namespace
    Webapplication(web应用程序)必须重新运行、
    aspx是(源)html代码
    ashx  一般应用程序
    表单->IIS服务器应用程序->返回表单

    可以建立空的解决方案(sln),然后加入项目

    action=“页面”  指的是提交给谁,相当于是完成了跳转

    组建什么的要整体提交的话要整个包在一个标签里面,如form标签,注意提交到服务器的表单一定要有name属性,id是给dom用的,name是给服务器用的

    request请求  response反馈,他有一个很重要的write属性,表示是输出内容。
    注意一个重要的context属性。

    @“”表示多行文本

    if(string.IsnullorEmpty(username))//判断username是否为空
    Http是请求和响应的模型,服务器读取的不是网页 是提交的参数


    ispostback  是判断是刚刚进入页面的还是已提交过了一次返回呢到该页面的
    跟隐藏字段是联系在一块的
    asp.net中是封装好了的
    所有提交给input的表单都是以name为key以value为value提交给服务器的

    request的是【“name”】
    response的是【“value”】//都是前面定义的表单的值

    客服端可以控制两个提交方式method=“”
    get是通过url来传值的,传递的数据量是有限的,不能传递大量的数据(如type=“file”,type=“password”)
    poet是通过后台来传值的,浏览器会提示重新提交表单的问题(偷偷的传递)

    在浏览器中查看这种页面的时候要打开html的页面,然后再改一下地址就是把后面的文件的名称改为一般应用程序的那个页面的名称,别忘记了后缀也是要改的哦


    可以用开发人员工具来篡改文本框的值,
    改的如果是字段的值的话就会提交给服务器
    改的是标签的值的话则是没有提交给服务器的值的


    context.Respond.write(“这里面可以加任何东西,包括什么html代码,还有javascript的代码,弹窗啊什么的   都是可以的,这里面只是表示程序到了这里打印出这一行代码而已”);


    标签表单  和字段时不一样的
    <div>标签表单
    <input><textarea><select>字段,只有对这些设置了name属性,他们相应的value属性才可以提交给服务器,标签是没有的


    hidden  是隐藏字段  用的很多很多
    标签要是想给服务器传值的话必须要借助隐藏字段

    默认的都是post提交的
    viewstate
    viewstate用来存放那些没有name属性的的字段的值,比如div中的值
    label版本的值是存到viewstate中的

    textbox版本的值是没有存到viewstate中的

    web开发都会禁用viewstate 把网站的尺寸改小 
    禁用这个页面的enableviewstate,页面的配置那禁用,enableviewstate=“false”
    禁用单个控件的在控件的直接设定enableviewstate=false,被禁用后textbox版本不受影响,div的版本受影响,内网,互联网的后台禁用的多

    注意控件有个属性是width   它的类型是unit不是int型
    状态信息保存在隐藏字段中的缺点:加大网站的流量,降低访问速度,会有数据欺骗等问题

    input的值记到value中
    其他值放到隐藏字段中,比如viewstate

    if (Session["username"] == null)   // 如果Session的值,是空的话
     {
        Label1.Text = "空值" ;

    else  // 如果Session的值,不是空,就显示出来
    {
        Label1.Text = Session["username"].ToString();
    }//检验session是不是吧值传进去了

    要把机密数据放到服务器,要有唯一的标识(比如存折和银行卡,余额是放到唯一的关联银行卡上面的)
    好多网站的主页面的的域名和图片的域名是不一样的,这样子可以减少网站的cookie的传输,这就是网站的优化。

    不要放太多的对象放到session中,session是占内存的,session会有超时销毁的

    服务器不知道浏览器是否开着,上面时候关闭。发帖计时。
    http协议。(下面说的是http协议,请求,处理,相应。所以http协议的缺点就是靠请求来判断你是不是还活着。)
    心跳请求。
    标识是服务亲每隔一段时间就访问你一次,不是标识你开着网页就表示服务器就以为你开着浏览器,靠的是请求来判断你是否是活着的。

    cookie是存在客服端,session是存在服务器端的。放的时候是object类型,取得时候要注意类型转换。session(验证码)。


    for(i++)循环暴力破解密码
    为了防止暴力破解,所以设置了验证码,所以设置了只准设置了几次密码,不准再次设置了。

    还有暴力注册。

    url   站址,文件的导向地址
    src

    验证码是动态生成的一个图片。

    Randon rand=new Randon();
    int code=rand.Next();


    http(是无状态的) 的版本
    0.9 1.0 1.1   现在主流的是1.1的版本
    连接(connection) ,一般请求完毕就直接关闭,不会一直连接的

    页面中的图片,js,css在单独的请求中

    引用css文件直接拖。
     http报文中 
    200标识成功   *
    301永久转移
    400 错误请求
    401 未认证
    403 禁止
    404 未找到    *
    500 服务器内部错误
    503 一般是访问人数过多

    写得好,不如说得好,说得好,不如做得好,干得好,不如干得巧,我的追求是高质量+好的方法+正确的心态 !
  • 相关阅读:
    CSS3动画
    Grid布局
    JS向上取整、向下取整、四舍五入等
    JS DOM资料
    关于setInterval和setTimeout中的this指向问题
    JavaScript 高级技巧 Memoization
    请求接口的方式
    HTTP协议知识
    CSS样式重置
    Chrome 为什么使用多进程,不使用多线程
  • 原文地址:https://www.cnblogs.com/wangcheng1990/p/2846337.html
Copyright © 2020-2023  润新知