文档章节

实习日志(六)——关于开发必须了解的基础(一)

笨小熊
 笨小熊
发布于 2014/07/13 17:02
字数 1527
阅读 413
收藏 6

以下是我今天恶补的基础知识点。

 

1URL重写

定义:就是通过url地址字符串拼接的方式,将网站真实的URL隐藏起来,同时又达到了页面跳转的目的。

   优点:

a.       便于SEO:目前很多浏览器不支持动态页面的抓取,尤其是带有“?”的页面;总之搜索引擎对于静态页面的抓取比动态页面要好,如果我们将http://www.xxx.com?year=2014改写成http://www.xxx.com/2014那么将更加便页面被搜索引擎的抓取。

b.       防止盗链:由于url重写隐藏了真实的地址,可以防止他人盗用网站链接,增加了网站的安全行。

c.       隐藏了网站的实现技术,增加了网站的安全性:明明是用php写的网站,我可以在URL重写的时候写成“.jsp”。

d.       提高可以移植性::由于真实的url含有类似于.asxp.php等真实的后缀,一旦修改了这些后缀名,就会损失点PageRank;但是URL重写则是由于隐藏了很多的细节,修改连接就不会损失PageRank

e.       URL简单易记,增加美感。

f. 支持URL“可删节”的要求:“可删节”是一个很重要的用户需求,如:http://www.xxx.com/article/2004/07    则会显示这个网站20047月份所有的文章;如果将地址改成:http://www.xxx.com/article/2004,则会显示这个网站2004年所有的文章。

 

URL重写方法:(进入http://msdn.mocrosoft.com  搜索 HttpContext.RewritePath方法)

 

 

2.        关于ASP.net处理机制

a.       关于IIS处理页面的运行机制:

IIS本身不能处理想aspx这样拓展名的页面,但是它有一个ISAP过滤器(COM组件)。ASP.NET服务在注册到IIS的时候,会直接添加一个asp.net_isapi.dll,并拓展可以处理的页面名(如aspx,asp,jsp)。拓展启动后,根据定义好的规则来处理页面。

 

具体资料:1.http://blog.itpub.net/12639172/viewspace-609510/

                    2. http://blog.csdn.net/joyhen/article/details/18660997

 

注意:在DTcms中,HttpModule.csHttpModule.引擎)文件是整个cms的核心;每次发起URL请求都会通过它来进行重写分配;Web.config文件中的<httpModule></httpModule>节点文件中的节点配置信息会确保每次发生URL请求的时候都要经过HttpModule.cs文件来处理。

 

 

 

3.        HTTP协议:

a.  定义:超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传送协议。

b.  HTTP遵循请求/应答模式,Web浏览器想Web服务器发送请求,Web服务器返回适当的应答。

c.  格式: 统一资源标示符+协议版本号+标题信息(包括请求修饰符、客服信息和可能的信息) 

d.        请求格式: http://localhost:865/index.aspx/pic/left.html  

 http://+ip+端口号+其他可能的信息

e.        返回:是一个状态行,包括:协议的版本号、状态码、标题信息(服务器信息、实体信息、可能的内容)(可以用HttpWatch来查看

d.  标记:正在传输的内容以content-type来标记,可以是任何类型;

e.  方式:getPost;区别:get:请求时,参数在URL中可见,不安全,数据传输量小(<2kb);传输的效率高;传输的字符必须为ASCII;Form默认的提交方式;post:请求时,参数在URL中不可见,相对安全,数据传输量大;传输效率底;需要设置Method.

f:状态吗:100段:已经接受到请求,还要继续处理;200:成功;300:重定向,需要进步一处理;400:客服端请求错误;500:服务器端请求错误。

 

HTTP的几个概念:

1.连接(Connection:浏览器和服务器之间传输数据的通道。一般请求完毕就关闭,不会一直保持连接状态。

2.请求(Request:浏览器向服务器发送“我要***”的消息,包含请求的类型、请求的数据、浏览器的信息(语言、版本等)。

3.响应(Response:服务器对浏览器请求的返回数据,包含是否成功、错误码等。

 

浏览器向服务器发送请求后,服务器并不是把浏览器请求的页面的所有内容当做一个请求发给浏览器,而是把CSS文件、JS文件、image文件都分别当做一个请求(单独的请求);最新版本的HTTP1.1是一个连接就可以完成所有的请求,即1个连接完成3个请求。

 

HTTP协议拓展:

 

网页中如果有图片、cssjs等外部文件的话,图片、cssjs都在单独的请求中,也就是并不是页面中所有的内容都在一个请求中完成,而是一个资源一个请求。

 

Http是无状态的,不会记得上次请求的任何信息;所以,哪怕是同一网页中的JScssjpg也都要重复的提交AcceptLanguageAccept-EncodingCookie等。

 

一般情况下,只有浏览器请求服务器端,服务器端才有浏览器响应数据,不会主动向浏览器推送数据,这既是处于安全的考虑、也是提高服务器性能的考虑。如果要服务器向浏览器推送数据,则需要使用ServerPush技术。

 

HTTP是“请求—响应”的工作方式,因此页面会不断的刷新,如果不希望页面刷新,则要使用AJAX技术。

 

4.        关于oopopp两种编程思想:

oop:面向对象编程思想,大量做了封装,一般封装的方法都在类里面;代码重用以类别的继承为主。

opp:面向过程编程思想,不做封装,但是对于常用的操作抵用方法,数据用Struct,方法数据分离;代码重用以方法的调用为主。

© 著作权归作者所有

笨小熊
粉丝 13
博文 152
码字总数 68269
作品 0
深圳
高级程序员
私信 提问
加载中

评论(3)

笨小熊
笨小熊 博主

引用来自“knightuniverse”的评论

为什么是ASP.NET...我推荐你去学PHP或者Ruby。如果鉴定走WEB开发者,微软的技术平台可以不要花太多心思,学JAVA WEB都比ASP.NET好。

我现在真的是在做PHP了
笨小熊
笨小熊 博主
是打算学习PHP的,但是想先巩固了ASP.NET的基础。毕竟,php做Web有其他语言不可比您的优势。
knightuniverse
knightuniverse
为什么是ASP.NET...我推荐你去学PHP或者Ruby。如果鉴定走WEB开发者,微软的技术平台可以不要花太多心思,学JAVA WEB都比ASP.NET好。
day77-20180904-流利阅读笔记

纽约大学医学院宣布学费全免 Daniel 2018-09-04 1.今日导读 读医学院的花销是很高的,学费这一项可能就足够使很多心怀医学梦想的学生望而却步。而这一现象在美国则更为突出,在阶级固化的美国...

飞鱼说编程
2018/09/04
120
0
程序员工作中的一些建议

一、尽早地添加日志记录和错误处理 在开发新系统时,我做的第一件事就是添加日志和错误处理,因为这两者从一开始就非常有用。如果系统不能照常工作,那么你就需要知道程序中发生了什么——这...

学习也休闲
2015/10/08
487
0
腾讯阿里网易游戏华为科大讯飞面经

本人是一非科班妹子,在找实习的过程中面试了腾讯、阿里、网易游戏、华为、科大讯飞(面试的顺序),前面三个都挂了。。。 1.腾讯提前批——游戏客户端开发 自我介绍+项目经历(问的很细) ...

牛客网
2018/06/13
0
0
欢迎进入阿钟的博客导航——快速查找所有博客

世上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离;世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己;世界上最真情的相依,是你在try我在catch。无论你发神...

a_zhon
2016/08/25
0
0
如何进入 Google 工作

如果你梦想进入Google,那么以下建议或许可以帮到你: 1.定个具体目标 你需要缩小你的目标范围,把目标落实到具体的工作岗位,也就是说,你需要通过对Google的深入了解,知道自己想从事具体哪...

abcdd1234567890
2017/06/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于java中变量的重名问题

在java语言中,变量的命名有很多规则和规范,但是有的地方可以使用相同的变量名,有的地方却不能使用,这是为什么呢? 下面是个人的一点见解,是从作用域和内存来分析的,目的是为了方便理解...

INEVITABLE
16分钟前
4
0
MySQL的COUNT语句,竟然都能被面试官虐的这么惨?

数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查。 在数据库的增删改查操作中,使用最频繁的就是查询操作。而在所有查询操作中,...

程序员修BUG
19分钟前
4
0
PHP+Mysql统计文件下载次数实例

PHP+Mysql统计文件下载次数实例,实现的原理也很简单,是通过前台点击链接download.php传参id,来更新点击次数。 获取文件列表: <?php require 'conn.php'; $query = mysql_query("S...

ymkjs1990
20分钟前
3
0
一、环境变量及Jshell

一、环境变量: 作用: 可执行文件所在位置的链接。CLI输入命令时,通过环境变量指引找到命令所在位置 windows的环境变量名不区分大小写,Linux区分 Windows下的用户变量即只有当前用户生效 ...

清自以敬
21分钟前
4
0
微软改名部又出手:Office 365正在悄悄更名为Microsoft 365

然而让人疑惑的是Microsoft 365 是微软面向企业提供的服务,这项服务附带操作系统以及办公软件的订阅授权。 现在把面向家庭消费者的办公软件也换成Microsoft 365 是什么操作?没人知道因为微...

linuxCool
21分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部