找回密码
 立即注册
大科技语录:
查看: 1896|回复: 3

网站搭建基础知识【转载】

[复制链接]
发表于 2010-12-7 23:50 | 显示全部楼层 |阅读模式
用户角度

要做网站, 我们先看看你要几样东西.
1. 域名, 也就是通常的网址
2. 主机, 网站存放的地方
3. 网站程序, 网站的网页

域名篇:
选域名通常是网站建设的开始, 一个好的域名对于网站的推广很重要. 如果搞得不好, 甚至会出现网站访问的问题, 或者日后的版权问题.

有哪些常见域名?
.com, .org, .net, .cn, .com.cn
这都是我们的常见的域名, 挑选一个没有人用过的, 然后去注册一个.
从影响力上讲, .com 是最好的, 但是好名字都被人挑走了. 域名市场也存在黄牛现象.

abc.com, www.abc.com有什么区别么?
这是两个完全不同的域名, 前者叫一级域名, 后者叫二级域名.
理论上, 如果你买了一级域名, 那么二级域名你可以随便配置.

有免费的域名么?
没有免费的一级域名, 想都不要想.
免费的二级域名和三级域名有的, 比如联盟的DDNS提供的域名, 就是典型的免费三级域名.

域名收费多少?
一般一年100不到, 但是要看具体域名和注册商.

我去哪里注册域名?
.com, .org, .net 这些域名有很多地方可以注册, .cn, .com.cn只能在国内的几个网站注册. 能为你注册域名的叫注册商, 大多数注册商也都提供解析服务, 具体什么叫解析服务不用关心.

在不用地方注册, 有什么区别? 有什么推荐?
收费不同, 续费的方式不同. 解析服务不同. 区别很大. 比如有的可以随便配置二级域名, 有的只能配置10个, 之类.
非.cn域名, 我推荐Godaddy, .cn域名的注册商推荐可以私下问我, 我不想惹事.

我注册域名之后, 可以换域名的注册商么?
有些是可以的, 有些是不可以的, 这也是在不用地方注册的区别.
哪些可以, 哪些不可以可以私下问我, 理由同上.

不同的域名会影响网站网速么?
这个影响忽略不计.

网站备案是什么?
原本公安部的规定, 要求每个网站站长都要去注册, 就像身份证一样, 确定责任人.
后来不知怎么这事归工信部管了, 越来越严, 要求每个国内的网站都要求备案. 今天6月份下了最狠的通知.
备案手续麻烦, 时间长, 从开始到结束需要至少1个月时间, 我做的网站里, 最长的备案了6个月.

主机篇:
主机就是放网站的电脑.

我得准备一台电脑放网站么?
一般来说, 不需要, 除非你要做企业级的网站, 或者做局域网的网站 (比如联盟).

没有电脑, 那网站放在哪里?
网上有提供专门存放你的网站的服务的公司, 称为接入商. 大多数情况下, 你的网站都只能放在别人的地方.

虚拟主机, 主机租用, VPS, 主机托管都什么区别? 都是什么价位
虚拟主机, 最便宜的方案, 一般你可以通过FTP连上你的网站, 上传内容, 其他的什么都不能做. 不能跑程序, 不能远程连接之类. 年费100到2k不等.
主机租用, 租用接入商的一台机器, 这台机器就给你随便折腾了, 随便装任何程序. 年费1w以上.
VPS, 类似于主机租用, 但是其实是一台虚拟机, 性能比单个主机低, 年费2k到1w.
主机托管, 电脑你卖, 买完了放在他那儿, 一般的电脑不行, 必须是专用的服务器, 年费1w以内.
价位只是参考价. 配置不同, 价格差很远.

我主机放在我自己的地方可以么?
不可以, 国家对ISP接入有严格规定, 只有ISP接入商可以接入网站, 再说你也没有条件 (没有固定IP).

主机和域名必须在一起买么?
看情况, 有的接入商要求必须一起买, 有的不要求.

主机买了, 网页上传了, 怎么用域名访问.
需要同时配置好域名和主机才可以.


网站程序篇
见过无数人被忽悠了... 这行业, 没有一分钱一分货的说法.

什么是静态网站, 什么是动态网站
静态网站: 只使用HTML, CSS, JavaScript, Flash的网站.
动态网站: 会用到php, asp, java, asp.net之类技术的网站.

动态网站, 什么技术最好?
=,= 我已经被无数"java最流行", "c#最好用"这样的说法给打败了. 试问一个连J2EE是什么都不知道的人, 怎么敢推荐Struts-Spring-Hibernate.
静态技术不说了, 除了不推荐Flash之外, 其他都无可厚非, 不要太依赖js.
动态技术, 首先得考虑你的主机商能给你提供什么环境, 绝大多数虚拟主机商都只提供php环境, 国内有一些提供asp.net环境的, 用的是不是正版软件就不知道了.
也有j2ee主机, 但是少的可怜, 也很贵, 而且存在很多库的问题.
如果你主机租用或者托管, 或者自己弄主机, 就随意选择你喜欢的技术吧. 但最好找个了解的人资讯下.

怎么判断我资讯的人是不是可靠?
下面的回答如果得罪人, 直接拍我就可以了.
如果他给你的回答是"这个语言好, 那个语言不好", 还是换个人咨询的好.
如果他推荐asp(注意asp不是asp.net), 你彻底忽略他就可以了.
如果他推荐html5或者ajax他很有可能是个新手, 崇拜新技术, 却不了解他们.
如果他推荐ruby,python甚至go,他有可能是一些技术狂热者.

找程序员的话, 我在软件要求时, 应该注意什么?
功能: 没得说
网页美工: 程序员很少有会美工的, 但是网页程序员, 多少都会一点. 如果你对美工要求很高, 最好找美工兼程序员来跟程序员合作. 并且保证他们不会吵架. 最好的方法是看看这个程序员之前的作品.
网页兼容性: 别听程序员抱怨浏览器兼容性问题, 合格的网页程序员完全可以解决这些问题. 检验的标准是: 火狐, Chrome, IE7以上版本完全无差异, IE6基本无差异.
网站安全性: 常常被忽略的问题, 尤其是经验不多的程序员. 找一个熟悉信息安全的人来检查一下, 是个不错的办法.
网站性能: 性能是个问题, 有时候也是容易出现争议的地方. 最好保证你的程序员有一定的项目和数据库优化经验. 否则他有可能会在后期要求你把服务器内存增加10被.
网站健壮性: 网站出错时, 会发生什么. 曾经见过一个系统, 他崩溃时打印所在用户的所有信息, 包括密码!

一个网站程序需要多少钱?
... 这点真的很难说, 市场很乱.
一般有三条路, 找软件公司做, 找程序员做, 找现成的程序. 花费也相对递减.
单个程序员的话, 主流的价格是每小时10到100. 如果你找的人给你出的价格奇低, 你得怀疑下他是否有足够的经验.
现成的程序, 有免费的, 有收费的. 比如做论坛, 就有相当好的免费程序.

软件公司做, 找程序员做哪个性价比高
软件公司做比单个程序员做的好?
这个真的很难说, 毕竟软件公司一般也就组个三五个人的团队帮你做软件. 这三五个人什么水平真难说了, 有很大的可能他们全是兼职实习生.
同样的道理, 这几个实习生, 加起来也不能保证网站的兼容性, 安全性, 还有性能.
软件公司做比单个程序员做的贵?
在有些人看来学生的价格都应该奇低. 大多数情况下, 出价奇低的, 写出来的东西也只值那个价了. 当然也有例外, 就是不熟悉市场的新人.
但软件公司通常会有一些后期的维护服务, 而程序员可能已经什么事情不管了.



开发者角度

技术学习篇

我要学做网站, 从哪里开始?
首先确定一下你是做网站还是架网站. 架网站另谈, 这里是做网站.
我的建议是从学习静态网页技术开始, 主要是XHTML和CSS2. 从W3C标准学习开始, 先忽略IE6, 这样比较简单.
我建议随便找些HTML4和CSS的书先看看, 然后仔细研究W3C标准. 这对于你成为合格的网页设计师非常重要.
如果你希望通过DreamWare或者Visual Studio拖拖控件实现编程. 你永远不会成为合格的网页程序员.
作为一个开发人员, 搞清一些概念很重要, 注意区分HTML4和XHTML.

什么是动态网站
网页动态生成的网站, 不是会动的网站.
网页动态生成的技术很多, 比如php, j2ee, asp.net, 以及传统一点的CGI. (关于php之类是否属于CGI, 我觉得没有必要争议, 就像没必要知道jsp是基于servlet一样)
虽然Visual Studio之类提供了一些高级点的开发方式, 但是要始终记住, 动态技术生成的是静态网页, 所以静态网页是基础.

如何写出跨浏览器网页
首先, 撇开IE6不谈, 要在其他网页上实现无差异, W3C标准离不开.
从XHTML标签, 到CSS, 到JavaScript的DOM操作, 一个都不能离开标准. 网上经常有一些网页特效的javascript, 都要自己检查是否有非w3c标准的操作.
然后是IE6的hack... 忍忍吧, IE6的份额一直在下降, 从我自己的监测数据看, 在中国已经低于50%了. 再过个两三年就可以直接无视了.
我经常听别人抱怨微软为了垄断, 故意跟标准不合的说法, 对于这些事netscape时代是有的, 现在早没有了. 这绝对不是网页写不好的借口. 新版的IE非常遵循W3C标准, 尤其IE8. 至于IE特有的扩展, FF, Chrome, Safari都有各自扩展, 没什么好说的.

现在是否要学习HTML5?
HTML5是一个兼顾各家要求的哪吒...他很强大, 但是多出来的胳膊和腿, 的确不怎么迷人. 而且现在还是半成品.
很多时候, 你可以把XHTML看成是HTML5的子集. 基于XHTML和个别HTML5的属性和Javascript操作, 可以写出很高级很好用的网页.
但条件是你放弃IE6的用户...

该不该学习和使用Ajax, Applet, Flex, Adobe Air, Silverlight.
关于一些人的Ajax崇拜我简直要疯了... 每当听到别人说"我这个网页是用Ajax写的"我都崩溃的不行. 我不会Ajax, 只会用JavaScript读取XML...
Applet, 很多Java的书还会教你写Applet, 但实际Applet很少被使用了, sun官方的在一篇Swing的文章里表示Applets已经被废弃. 但是官方又没有其他表示... 建议新网站不要考虑Applet.
Flex是基于Flash的富客户端技术, 它能减少你写Flash的时间, 代价是大多数时候生成的Flash相对较大. 不过一般也就一张照片的大小. Flex还是很有吸引力的.
Air是Adobe的另外一个富客户端技术, 也很不错, 不过不建议用在网页上, 安装Air的人比较少, 远低于Java...
Silverlight, MS的富客户端技术, 它在定位上兼于Flash和Air之间, 普及率一般, 比Air高. 微软也只是在新产品中使用.

数据库我应该选择什么?
大多数时候我建议你的数据库从下面几个中选择:
PHP, TXT, XML, SQLite, MySQL, PostgreSQL, SQL Server, Oracle, DB2 ... 我感觉我把常见的列完了....
PHP, TXT, XML: 我知道很多人看到这个都会觉得很差异... 毕竟很多时候, 把网站的名字和权限都写进数据库是一件很囧的事情. 另外巧妙应用一些语言的特性也很有用, 比如动态生成的PHP, 不过要注意文件IO可能的出错哦...
SQLite, MySQL, PostgreSQL小型网站的最佳选择. 其中SQLite算是文件数据库, 并且依靠内存进行加速, 所以很有优势, 不过有人反映在系统宕机时可能会出现个别错误数据.
SQL Server, Oracle, DB2, 做大应用还是考虑这3个... 如果缺钱, 也不用盗版... SQL Server Express, Oracle Express, Derby... 够用的. 等你不够用的时候, 也不缺钱了.
每个数据库都各有优缺点, 也各有各的优化方式. 但基本思路都是做索引, 视图什么的. SQL的写法也不一样, 选好数据库, 对于性能敏感的网站十分重要.

注入是什么, 我应该如何防止.
注入是Google...
注入的方式很多, 但基本原理是通过修改程序运行时的变量. 比如最常见的就是SQL注入.
要小心一些语言的特性, 比如php可以利用字符串来指定运行的函数. 所有的这些注入的输入都来自用户的POST和GET, 以及读取的数据文件. 所以对这些东西要谨慎操作.

项目实践篇

我有能力接项目了吗?
很难说, 因为很多时候能不能, 要比较才能知道. 有的时候就算你做出一个系统来了, 其实存在很多问题, 没人指出, 你也看不出来.
如果实在找不到人来做比较, 计算一下自己的代码量吧. 只计算自己写的代码, CSS和HTML除外. 如果某种语言达到一万, 我觉得你可以试试. 但是在达到十万之前最好说自己精通, (就算达到了也不能说, 除非你能准确判断这种语言的if else和switch效率差异之类), 也不要去接一个月以上的项目.
值得补充的是, 我这里单指"单个人接项目"

有人找我做个网站, 我该不该做, 云云...
问这个问题的人一般都是没给别人做过的网站. 新人往往会很大胆地接一些动态网站项目. 所以我给出一些建议, 用来检验你是否有能力做接这个网站.
如果是静态网页, 没什么好说的, 客户要求的效果和排版都能写得出来就可以.
如果是动态网页:
你能够在听用户描述的过程中, 给出网站的框架, 分层.
你能够很快想出出这个网站所需要的所有数据表, 及其关系.
你能够知道这个做网站大部分模块所需要的时间.
你一眼看出这个网站的性能瓶颈可能在哪里.
你的用户给了你很清晰的逻辑, 其中包括所有的页面, 出错.
你能够应对连续编程很多天后的烦躁, 以及客户的"外行"指责.

我怎么估算网站的开发时间.
你觉得给你全职一年, 能写出一个Discuz么? 大二的时候我问很多同学编程还行的同学这个问题, 基本都说能. 实际的情况是, 如果他们可以, 他们薪酬可不是现在这样.
一个小时能写一套完整的留言系统, 但是要写一个基本的论坛, 也得需要一个月. 更别说功能复杂, 效率优秀的Discuz了. 当项目规模变大时, 所需要的时间可不是线性增长的.
(大三的时候数据库课, 一同学找我教他如何架设php环境, 3天之后他拿出一个论坛声称是自己写的在数据库课上展示要求加分...还经常在网上见到一些新人, 说自己做了个好几千行的程序云云...)
我参考我大二时的能力给新手参考, 那年开始我刚开始对外接项目. 不过那时候我已经搞了3年网页设计和半年网页编程了.
(这些时间包括了网页美工的时间, 但不包括JS特效和图片美工)
1页纯静态网页按照一天来算. 10页就两天...
一个留言板, 一天.
一个陌生人聊天器, 一个星期.

我应该选择什么动态语言技术
首先要搞清楚你的客户要把网站架设到什么地方, 如果是虚拟主机, PHP+MYSQL吧. 如果是GAE, Java或者Python.
如果是他自己的机器, 那就好办多了, 没有特殊要求的话, 语言和技术都是随便选.
但是千万要记住, 不要迷信一些技术, 比如很多人觉得用J2EE做网站就是Struts-Spring-Hibernate... 其实很多时候折腾这些框架的时间, 早用Servlet写好了, 写完了也没那么多内存和效率问题. 部署的时候也不会各种灵异500, 503.

我应该要多少钱?
... ...
真的不好说, 新人我建议不要要的太高, 但也不要弄得白菜价. 我建议参考一小时10-25的实习价. 等到你可以保证软件质量的时候, 你可以往高了要, 参考各层次程序员的工资.
我当年做第一个项目的时候就要了白菜价...
相对来说, 包项目的价格会高一些, 但是合同通常有如下一说... 如果做出不来, 没钱...
另外很多老板宁愿养人也不愿意外包软件, 而且没必要在客户面前展示技术.
(曾经有一老板说要养我一年做个网站, 我说我只要半年的钱, 我两个月给你做好.... 结果他不相信, 直接认定我不可靠... 虽说那老板有他SB之处, 但我也有我SB之处)
另外如果是苦力工作, 可以往高了要. 因为这些老板把你当工人, 而不是人才.
值得一提的是, 做网站是做网站的价格, 维护网站是维护网站的价格, 要搞清楚...
最后, 要有承受客户欠钱不还的压力... 有些人几十也欠... 疯了.


还有的说, 不过困了, 有空再加...
发表于 2010-12-9 15:37 | 显示全部楼层
收藏,辛苦了·
咱们的论坛的服务器是……?
回复

使用道具 举报

 楼主| 发表于 2010-12-9 18:24 | 显示全部楼层
收藏,辛苦了·
咱们的论坛的服务器是……?
玄勾玉 发表于 2010-12-9 15:37



    虚拟主机
回复

使用道具 举报

发表于 2010-12-9 21:53 | 显示全部楼层
哇,厉害厉害,我先收藏了希望楼主以后还能找来更多好东西
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|大科技 ( 琼ICP备05005796号 )

GMT+8.8, 2024-10-22 20:23 , Processed in 0.074588 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表