1、注册域名提示We couldn't verify that you are human, please try again.
申请域名和主机空间请特别注意:售后服务是关键,这类产品80%的成本是服务。有一些服务商降低了价格,服务也下降了。不是找不到人,就是电话打不通,也没有在线工作人员支持,会很麻烦。一定要先沟通3-5个小时,问清楚了再定。
可以找咱们。现在在线,可以加一下
2、Web前端开发主要学哪些?
了解web前端
Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代产物,那时网站的主要内容是静态
的,用户使用网站的行为也以浏览为主。2005年以后,互联网进入Web2.0时代,各种类似桌面软件的Web应用大量涌现,网站的前端由此发生了翻天覆
地的变化。网页不再只是承载单一的文字和图片,各种富媒体让网页的内容更加生动,网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技
术实现的。说得直白点就是美工photoshop,交互设计,flash,js,html+css。就小规模公司而言,一个技术员都得会这几样技能,这样
很锻炼人的,慢慢的你就会成为公司的主力。大规模的公司把这些分得很细,所以,你可以精通一门,熟悉其他的,进军大公司。
网页开发工具
学习web前端开发,网页开发工具有FrontPage,会用 Word
的人很容易学会FrontPage。还有一个常用的是Dreamweaver。这两种都是使用最多的HTML网页制作工具,我使用的是Dreamweaver
cs6,因为这套软件提供了一套直观的可视界面,融合了html5一些新的内容。包括网格布局什么的。
学习内容
HTML、CSS和JavaScript。html是内容,css是表现,javascript是行为。前端开发的门槛其实非常低,与服务器端语言先慢后
快的学习曲线相比,前端开发的学习曲线是先快后慢。所以,对于从事IT工作的人来说,前端开发是个不错的初入点。也正因为如此,前端开发的领域有很多自学
成“才”的同行。html是最基础的,现在流行的是html5设计,先学会网页布局。css是用来美化html页面的为页面提供布局和格式。最后再学
javascript。如果你把每天看电影、看电视剧的时间用来学习,我想一个星期入门是没有问题的。
基础知识:
1. html + css。这部分建议在 www.w3school.com.cn 上学习,边学边练,每章后还有小测试。之后可以模仿一些网站做些页面。本站提供的个人博客模板www.yangqq.com/download/都是比较简单的单页,可以下载下来模仿自己做一个。理解css每个元素的属性,样式的实现不一定只有一种写法,多想一想还有没有什么需要改进的地方。
《10条HTML代码编写技巧》
《CSS简明教程》
《Div+CSS 规则整理 以及注意问题》
2、JavaScript。不是所有的网页都必须有js,但是要想实现一些超酷的功能和界面的时候,就需要涉及到js。如果没有其他编程语言的基础的话,学起来可能要费些力,还是建议先在
w3school上学习。之后建议马上看《javascript语言精粹》
《JS经典实例》
3、Photoshop、flash。熟悉会一点儿就行了,没必要全部都学得精通,当然如果你在学习的过程中,发现你ps或者flash比较感兴趣的话,也可以尝试做美工这一行。
4、html5和css3。可以先了解一下,然后再入手。毕竟IE的浏览器大多还不支持。
《学习Html5建站教程(一)Html5简介》
《学习Html5建站教程(二)Html5 语法与规则》
《学习Html5建站教程(三)Html5博客页面设计之理论》
《学习Html5建站教程(四)用HTML5做个人的网站》
5、浏览器兼容。懂web标准,熟练手写 xhtml css3 并符合
符合w3c标准。代码能兼容主流浏览器Firfox,Chrome、Safari、IE、Opera。虽然IE6很多都不兼容,但现在还使用的人还是有的。W3C验证地址:http://jigsaw.w3.org/css-validator/ 通过验证指定URI的CSS内容,可以帮我们检查一下有没有错误。
6、熟悉一门后台编程语言 asp、php、jsp等 《关于asp、php、asp.net、jsp的学习心得、介绍及优缺点比较》
web前端设计师前景
遇到很多想换行的朋友,第一句就问,这行赚钱吗?我相信一句话,没有付出,是没有回报的!前面已经说过了,咱们这行门槛是很低的,所以薪资阶段也不一样。
2000初入这行的现在还普遍,工作经验2年以上,有很多代表性作品的时候,工资在4000左右;高手级别的估计在6000左右,大师级别这个阶段的薪资
参考:10000以上(上海北京深圳为例)网页设计师课程一般包括:Photoshop、Fireworks、用户界面设计实操,xhtml、css、
dreamweaver、网站架构与网站策划、flash动画制作,域名与空间、ftp、dhtml、javascript、动态交互网站(asp、
php、aja)
3、我们是学校网站,通过校园网上网,有固定IP,如何配置内网WEB服务器,才能让外网用户通过域名访问内网的WE
1)内外是否完全隔离?
2)有无做路由,不然外怎么访问到内?
3)内部ip地址是私有地址,必须通过一个固定的外网地址转发出去
4、关于shopwe和shopex怎么让域名换空间
你把原来的网站程序和数据库删除,重新安装成shopex就可以了,域名解析等都不用更改
还有不懂请追问
5、为什么我在Godaddy上购买域名会出现Unfortunately, we are unable to process your 。。。。。
购买的时候出现这个错误提示,需要联系Godaddy客服,可能是你账户出现问题也可能是他们那边服务器的问题。这个问题联系客服之后就会解决的
6、http server怎么用?
实现自己的http server
Write your own http server
author : Kevin Lynx
Why write your own?
看这个问题的人证明你知道什么是http server,世界上有很多各种规模的http server,为什么要自己实现一个?其实没什么
理由。我自己问自己,感觉就是在自己娱乐自己,或者说只是练习下网络编程,或者是因为某日我看到某个库宣称自己附带一个小
型的http server时,我不知道是什么东西,于是就想自己去实现一个。
What's httpd ?
httpd就是http daemon,这个是类unix系统上的名称,也就是http server。httpd遵循HTTP协议,响应HTTP客户端的request,
然后返回response。
那么,什么是HTTP协议?最简单的例子,就是你的浏览器与网页服务器之间使用的应用层协议。虽然官方文档说HTTP协议可以
建立在任何可靠传输的协议之上,但是就我们所见到的,HTTP还是建立在TCP之上的。
httpd最简单的response是返回静态的HTML页面。在这里我们的目标也只是一个响应静态网页的httpd而已(也许你愿意加入CGI
特性)。
More details about HTTP protocol
在这里有必要讲解HTTP协议的更多细节,因为我们的httpd就是要去解析这个协议。
关于HTTP协议的详细文档,可以参看rfc2616。但事实上对于实现一个简单的响应静态网页的httpd来说,完全没必要读这么一
分冗长的文档。在这里我推荐<HTTP Made Really Easy>,以下内容基本取自于本文档。
- HTTP协议结构
HTTP协议无论是请求报文(request message)还是回应报文(response message)都分为四部分:
* 报文头 (initial line )
* 0个或多个header line
* 空行(作为header lines的结束)
* 可选body
HTTP协议是基于行的协议,每一行以\r\n作为分隔符。报文头通常表明报文的类型(例如请求类型),报文头只占一行;header line
附带一些特殊信息,每一个header line占一行,其格式为name:value,即以分号作为分隔;空行也就是一个\r\n;可选body通常
包含数据,例如服务器返回的某个静态HTML文件的内容。举个例子,以下是一个很常见的请求报文,你可以截获浏览器发送的数据
包而获得:
1 GET /index.html HTTP/1.1
2 Accept-Language: zh-cn
3 Accept-Encoding: gzip, deflate
4 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; MAXTHON 2.0)
5 Host: localhost
6 Connection: Keep-Alive
7
我为每一行都添加了行号,第1行就是initial line,2-6行是header lines,7行是一个header line的结束符,没有显示出来。
以下是一个回应报文:
1 HTTP/1.1 200 OK
2 Server: klhttpd/0.1.0
3 Content-Type: text/html
4 Content-Length: 67
5
6 <head><head><title>index.html</title></head><body>index.html</body>
第6行就是可选的body,这里是index.html这个文件的内容。
- HTTP request method
因为我们做的事服务器端,所以我们重点对请求报文做说明。首先看initial line,该行包含几个字段,每个字段用空格分开,例
如以上的GET /index.html HTTP/1.1就可以分为三部分:GET、/index.html、HTTP/1.1。其中第一个字段GET就是所谓的request
method。它表明请求类型,HTTP有很多method,例如:GET、POST、HEAD等。
就我们的目标而言,我们只需要实现对GET和HEAD做响应即可。
GET是最普遍的method,表示请求一个资源。什么是资源?诸如HTML网页、图片、声音文件等都是资源。顺便提一句,HTTP协议
中为每一个资源设置一个唯一的标识符,就是所谓的URI(更宽泛的URL)。
HEAD与GET一样,不过它不请求资源内容,而是请求资源信息,例如文件长度等信息。
- More detail
继续说说initial line后面的内容:
对应于GET和HEAD两个method,紧接着的字段就是资源名,其实从这里可以看出,也就是文件名(相对于你服务器的资源目录),例
如这里的/index.html;最后一个字段表明HTTP协议版本号。目前我们只需要支持HTTP1.1和1.0,没有多大的技术差别。
然后是header line。我们并不需要关注每一个header line。我只罗列有用的header line :
- Host : 对于HTTP1.1而言,请求报文中必须包含此header,如果没有包含,服务器需要返回bad request错误信息。
- Date : 用于回应报文,用于客户端缓存数据用。
- Content-Type : 用于回应报文,表示回应资源的文件类型,以MIME形式给出。什么是MIME?它们都有自己的格式,例如:
text/html, image/jpg, image/gif等。
- Content-Length : 用于回应报文,表示回应资源的文件长度。
body域很简单,你只需要将一个文件全部读入内存,然后附加到回应报文段后发送即可,即使是二进制数据。
- 回应报文
之前提到的一个回应报文例子很典型,我们以其为例讲解。首先是initial line,第一个字段表明HTTP协议版本,可以直接以请求
报文为准(即请求报文版本是多少这里就是多少);第二个字段是一个status code,也就是回应状态,相当于请求结果,请求结果
被HTTP官方事先定义,例如200表示成功、404表示资源不存在等;最后一个字段为status code的可读字符串,你随便给吧。
回应报文中最好跟上Content-Type、Content-Length等header。
具体实现
正式写代码之前我希望你能明白HTTP协议的这种请求/回应模式,即客户端发出一个请求,然后服务器端回应该请求。然后继续
这个过程(HTTP1.1是长连接模式,而HTTP1.0是短连接,当服务器端返回第一个请求时,连接就断开了)。
这里,我们无论客户端,例如浏览器,发出什么样的请求,请求什么资源,我们都回应相同的数据:
/**//* 阻塞地接受一个客户端连接 */
SOCKET con = accept( s, 0, 0 );
/**//* recv request */
char request[1024] = { 0 };
ret = recv( con, request, sizeof( request ), 0 );
printf( request );
/**//* whatever we recv, we send 200 response */
{
char content[] = "<head><head><title>index.html</title></head><body>index.html</body>";
char response[512];
sprintf( response, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: %d\r\n\r\n%s", strlen( content ), content );
ret = send( con, response, strlen( response ), 0 );
}
closesocket( con );
程序以最简单的阻塞模式运行,我们可以将重点放在协议的分析上。运行程序,在浏览器里输入http://localhost:8080/index.html
,然后就可以看到浏览器正常显示content中描述的HTML文件。假设程序在8080端口监听。
现在你基本上明白了整个工作过程,我们可以把代码写得更全面一点,例如根据GET的URI来载入对应的文件然后回应给客户端。
其实这个很简单,只需要从initial line里解析出(很一般的字符串解析)URI字段,然后载入对应的文件即可。例如以下函数:
void http_response( SOCKET con, const char *request )
{
/**//* get the method */
char *token = strtok( request, " " );
char *uri = strtok( 0, " " );
char file[64];
sprintf( file, ".%s", uri );
{
/**//* load the file content */
FILE *fp = fopen( file, "rb" );
if( fp == 0 )
{
/**//* response 404 status code */
char response[] = "HTTP/1.1 404 NOT FOUND\r\n\r\n";
send( con, response, strlen( response ), 0 );
}
else
{
/**//* response the resource */
/**//* first, load the file */
int file_size ;
char *content;
char response[1024];
fseek( fp, 0, SEEK_END );
file_size = ftell( fp );
fseek( fp, 0, SEEK_SET );
content = (char*)malloc( file_size + 1 );
fread( content, file_size, 1, fp );
content[file_size] = 0;
sprintf( response, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: %d\r\n\r\n%s", file_size, content );
send( con, response, strlen( response ), 0 );
free( content );
}
}
}