前几天学习了ASP.Net 在学之前 听同学和老师说 ASP.Net 有多么难 ? 我觉得 如果没有学好 ASP.Net 一半的原因就是应为这句话
如果没有学好 也会为自己找借口 “这个太难了!!”
此时 我想起了小学语文课本上的一篇文章《小马过河》
故事说有一只小马 要过一条河 在过河之前 他问一只水牛:“我能淌过这条河么?”
水牛回答道:"可以的 水很浅 才没到小腿!" 正当小马准备下水的时候 一只青蛙连忙跑了过来
说到:“小马 你可千万不能过这条河 昨天我的一个兄弟就是过这条河的时候 水太深 淹死了 !”
小马听了一个犯难了。。。
这个故事和我们学习ASP.Net是一个道理 当你问一个刚刚学习ASP.Net的同学:“ASP.Net好学么?”
他估计会告诉你:“特别难” 如果你问老师 或者一个工作了几年的大牛时 他估计会告诉你 “也就那么回事”
所以说 我们自己要亲自尝试一些 不管怎样 一定要学习ASP.Net
我认为 要学好ASP.Net就一定要先学好底层的原理 比如http原理 只有掌握了底层的原理 我们学习起来才能更清楚他的工作原理
在市面上 一说起ASP.Net 就和拖控件联系上了 这也为什么说ASP.Net程序员的工资比较低的一个原因 就是因为这些程序员只会拖拖控件
然后为控件的事件写上几句业务逻辑代码 就开发出了一个所谓的ASP.Net应用程序了
由于微软为我们高度的封装了底层的一些东西 让我们程序员都成为“拿来主义”的程序员 如果有一天微软倒闭了(当然这是不可能的 我说的是如果)
这些程序员也就失业了 所以说 底层的原理 对学好ASP.Net是多么的重要 !!!
学了几天的ASP.Net 也做了几个简单的小项目 感觉虽然难 但是只要搞明白了 也就那么回事了 我将前几天的东西做了一个小总结
总结的不全 高手勿喷 小弟菜鸟 放上来与大家分享 还是那句话 有不对的还请您指出 以便我改进 万分感谢!!!
http 和 ftp
http:就是浏览器和服务器都遵守的一套数据“语法”
ftp:是传输设备使用的一套“语法”
举例:两个人打电话 说的都是中文(http协议) ,然后电话机解析成电信号 通过电话线 传输到另外一台电话机上 再将电信号转换成声信号 。ftp就是电信号的语法
声音语法(http协议)是人使用的 电信号语法(ftp协议)是电话机使用的
关于Http协议
Web开发是和Http协议打交道的,必须了解Http协议。Http协议版本:Http/0.9、Http/1.0、Http/1.1,现在主流的是Http/1.1版本
Http协议分析工具:
1、DebugBar,Http(S)标签的内容。免费的。只能分析当前浏览器中的内容。
2、httpwatch,收费的,只能分析当前浏览器中的内容。推荐使用
3、HttpAnalyzer,收费的,能分析计算机上所有的Http请求数据。
4、WFetch_1.4,免费,小型分析工具
Http协议的几个概念:
1.连接(Connection):浏览器和服务器之间传输数据的通道。 一般请求完毕就关闭,http不保持连接。不保持连接会降低处理速度(因为建立连接速度很慢),保持连接的话就会降低服务器的处理的客户端请求数,而不保持连接服务器可以处理更多的请求。
2.请求(Request):浏览器向服务器发送的“我要***”的消息,包含请求的类型、请求的数据、浏览器的信息(语言、浏览器版本等)。
3.响应(Response):服务器对浏览器请求的返回的数据,包含是否成功、状态码等。
http响应码
浏览器向服务器发出请求,服务器处理可能是成功、可能是失败、可能没有权限访问等原因,服务器会通过响应码来告诉浏览器处理结果。
"200" : OK
"302" : Found 重定向.
"400" : Bad Request 错误请求,发出错误的不符合Http协议的请求
"403" : Forbidden 禁止
"404" : Not Found 未找到。演示访问一个不存在的页面看报文
"500" : Internal Server Error 服务器内部错误。演示页面抛出异常。
"503" : Service Unavailable。一般是访问人数过多。
200段是成功;300段需要对请求做进一步的处理;400段表示客户端请求错误;500段是服务器的错误。
Past与Get
这是两个提交表单的方式 大多数情况下 我们使用Post来传值 两者的区别:
传输大小:Get传输的数据量小(2k) Post传输的数据量大
传输安全:Get传输的数据不安全 因为会将文本框中的数据显示在地址栏中 post则不会
传输方式:get使用的url的传值 而 post使用的报文的方式传值
传输内容:get不可以进行文件的提交 post则可以
页面的SEO:get的页面可以被搜索引擎抓取 post不会
浏览器提示:post会有浏览器提示重新提交表单的问题,get则没有(加分的回答)
设置传值方式 以及 页面的跳转
在from标题中这个传值的方式 以及 跳转的页面
<form method="get" action="">
获取两种传值方式的表单中的值
Get:context.Request.QueryString["name"]
Post:context.Request.Form["btnLogin"]
重定向
什么是重定向:
就是从页面A跳转到页面B
语法:
context.Response.Redirect(“跳转的页面名称”)
重定向提交的原理:
1. 当我们执行重定向的时候 会执行两个请求
2. 第一个请求是请求带有 Redirect 的那个页面
3. 在执行这个页面中的代码时 遇到了 Redirect 就会返回一个响应报文 此时的响应报文中包含 302 重定向 和Location 要重定向的页面
4. 于是 浏览器会第二次请求服务器 将Location中的页面请求回来 显示在浏览器上
终止执行
context.Response.End():终止执行,该语句后面的代码都不会执行了.
关于提交
当我们点击“提交”按钮的时候 浏览器是将文本标签中的内容提取出来 然后 发送到服务器 不是服务器主动来读取的
可以提交到服务器的标签:
●只能为 input、textarea、select三种类型的标签。只有input(文本框、CheckBox等)用户才可能填写值,<label>、<p>、<font>等标签仅供显示用,没有提交到服务器的必要。
●只有value属性的值才会提交给服务器。以input标签为例,input标签有title、type、disabled等属性,但是这些属性都是供显示用的,用户并不能修改,只有value属性才是用户输入的属性,因此只有value属性的值才会被提交到服务器。
●标签必须设定name属性
●放到form标签内。只有放到form标签内的标签才可能会被提交到服务器,form之外的input等标签被忽略。
Disabled 与 readonly
disabled=“disabled” 文本框中的内容变灰 可以选择 不可以输入 本质区别是 文本框里的值不向服务器提交
readonly=“true”文本框中的内容不变灰 可以选择 不可以输入 本质区别是 文本框里的值向服务器提交
(作者注释:由于我的笔记是.doc格式的 所有的标题都有超链接以及标题颜色 如果直接复制过来的话会有格式不支持的情况 为了统一 我在全部转换成了txt 所以会没有颜色 希望大家见谅)
- 1楼xiaowei_cqu前天 09:00
- 青蛙不容易被淹死吧。。。
- Re: popping_dancer前天 19:48
- 回复xiaowei_cqun就是那么一个意思 意思就是水对于青蛙来说太深了 并不是真的淹死了