Server-side scripting

请关注DeveloperQ公众号

DeveloperQ公众号

Server-side scripting

From Wikipedia, the free encyclopedia


See also: Dynamic web page § Server-side scripting


[hide]This article has multiple issues. Please helpimprove it or discuss these issues on the talk page(Learn how and when to remove these template messages)

This article needs attention from an expert in Technology. The specific problem is: unfocused, scattered, unnecessary details. (April 2012)


This article needs additional citations forverification(October 2008)

 

Server-side scripting is a technique used in web development which involves employing scriptson a web server which produce a response customized for each user's (client's) request to the website. The alternative is for the web server itself to deliver a static web page. Scripts can be written in any of a number of server-side scripting languages that are available (see below). Server-side scripting is distinguished from client-side scripting where embedded scripts, such as JavaScript, are run client-side in a web browser, but both techniques are often used together.

Server-side scripting is often used to provide a customized interface for the user. These scripts may assemble client characteristics for use in customizing the response based on those characteristics, the user's requirements, access rights, etc. Server-side scripting also enables the website owner to hide the source code that generates the interface, whereas with client-side scripting, the user has access to all the code received by the client. A down-side to the use of server-side scripting is that the client needs to make further requests over the network to the server in order to show new information to the user via the web browser. These requests can slow down the experience for the user, place more load on the server, and prevent use of the application when the user is disconnected from the server.

When the server serves data in a commonly used manner, for example according to the HTTP or FTPprotocols, users may have their choice of a number of client programs (most modern web browsers can request and receive data using both of those protocols). In the case of more specialized applications, programmers may write their own server, client, and communications protocol, that can only be used with one another.

Programs that run on a user's local computer without ever sending or receiving data over a network are not considered clients, and so the operations of such programs would not be considered client-side operations.

Contents

  [hide

· 1History

· 2Explanation

· 3Languages

· 4See also

· 5References

· 6External links

History[edit]

Netscape introduced an implementation of JavaScript for server-side scripting with Netscape Enterprise Server, first released in December, 1994 (soon after releasing JavaScript for browsers).[1][2]

Server-side scripting was later used in early 1995 by Fred DuFresne while developing the first web site for Boston, MA television station WCVB. The technology is described in US patent 5835712. The patent was issued in 1998 and is now owned by Open Invention Network (OIN). In 2010 OIN named Fred DuFresne a "Distinguished Inventor" for his work on server-side scripting.

Today, a variety of services use server-side scripting to deliver results back to a client as a paid or free service. An example would be WolframAlpha, which is a computational knowledge engine that computes results outside the clients environment and returns the computed result back. A more commonly used service is Google's proprietary search engine, which searches millions of cached results related to the user specified keyword and returns an ordered list of links back to the client. Apple's Siri application also employs server-side scripting outside of a web application. The application takes an input, computes a result, and returns the result back to the client.

Explanation[edit]

In the earlier days of the web, server-side scripting was almost exclusively performed by using a combination of C programs, Perl scripts, and shell scripts using the Common Gateway Interface(CGI). Those scripts were executed by the operating system, and the results were served back by the web server. Many modern web servers can directly execute on-line scripting languages such asASPJSPPerlPHP and Ruby either by the web server itself or via extension modules (e.g.mod_perl or mod_php) to the web server. For example, WebDNA includes its own embedded database system. Either form of scripting (i.e., CGI or direct execution) can be used to build up complex multi-page sites, but direct execution usually results in less overhead because of the lower number of calls to external interpreters.

Dynamic websites sometimes use custom web application servers, such as GlassfishPlack andPython's "Base HTTP Server" library, although some may not consider this to be server-side scripting. When designing using dynamic web-based scripting techniques developers must have a keen understanding of the logical, temporal, and physical separation between the client and the server. For a user's action to trigger the execution of server-side code, for example, a developer working with classic ASP must explicitly cause the user's browser to make a request back to the web server. Creating such interactions can easily consume much development time and lead to unreadable code.

Server-side scripts are completely processed by the servers instead of clients. When clients request a page containing server-side scripts, the applicable server processes the scripts and returns an HTML page to the client.

Languages[edit]

There are a number of server-side scripting languages available, including:

· ASP (*.asp)

· ActiveVFP (*.avfp)

· ASP.NET (*.aspx)

· ASP.NET MVC (*.cshtml)

· ColdFusion Markup Language (*.cfm)

· Go (*.go)

· Google Apps Script (*.gs)

· Hack (*.php)

· Haskell (*.hs) (example: Yesod)

· Java (*.jsp) via JavaServer Pages

· JavaScript using Server-side JavaScript (*.ssjs, *.js) (example: Node.js)

· Lasso (*.lasso)

· Lua (*.lp *.op *.lua)

· Parser (*.p)

· Perl via the CGI.pm module (*.cgi, *.ipl, *.pl)

· PHP (*.php, *.php3, *.php4, *.phtml)

· Python (*.py) (examples: PyramidFlaskDjango)

· R (*.rhtml) - (example: rApache)

· Ruby (*.rb, *.rbw) (example: Ruby on Rails)

· SMX (*.smx)

· Tcl (*.tcl)

· WebDNA (*.dna,*.tpl)

· Progress WebSpeed (*.r,*.w)

· Bigwig (*.wig)

See also[edit]

· Client-side scripting

· Content management system (CMS)

· Edge Side Includes

· JSP

· Node.js

· Perl/Plack

· PHP

· Server Side Includes (SSI)

· Web development

References[edit]

1. Jump up^ "Server-Side JavaScript Guide". Netscape Communications Corporation. 1998. Retrieved2012-04-25.

2. Jump up^ Mike Morgan (1996). "Using Netscape™ LiveWire™, Special Edition". Que.

External links[edit]

· Server-side scripting at DMOZ;

[hide]

· v

· t

· e

Web interfaces


Server-side

Protocols

· HTTP

· CGI

· SCGI

· FCGI

· AJP

· WSRP

· WebSocket


Server APIs

· C NSAPI

· C ASAPI

· C ISAPI

· COM ASP

· Java servlet 

· container

 

· CLI OWIN

· ASP.NET Handler

· Python WSGI

· Ruby Rack

· JavaScript JSGI

· Perl PSGI

· Lua WSAPI

· Portlet 

· container


Apache modules

· mod_jk

· mod_lisp

· mod_mono

· mod_parrot

· mod_perl

· mod_php

· mod_proxy

· mod_python

· mod_wsgi

· mod_ruby

· Phusion Passenger


Topics

· Web resource vs. Web service

· Open API

· Webhook

· Application server 

· comparison

 

· Scripting

 


Client-side

Browser APIs

· C NPAPI 

· LiveConnect

· XPConnect

 

· C NPRuntime

· C PPAPI 

· NaCl

 

· ActiveX

· BHO

· XBAP

· WebAssembly


Web APIs

W3C

· Audio

· Canvas

· CORS

· DOM

· DOM events

· EME

· File

· Geolocation

· IndexedDB

· MSE

· SSE

· SVG

· Video

· WebRTC

· WebSocket

· Web messaging

· Web storage

· Web worker

· XMLHttpRequest


Khronos

· WebCL

· WebGL


Others

· Gears

· Web SQL Database (formerly W3C)

 


Topics

· Ajax vs. DHTML

· Mashup

· Web IDL

· Scripting

 


Topics

· Dynamic web page

· Open Web Platform

· Rich Internet application

· Web application

Categories

· Scripting languages


Web development

From Wikipedia, the free encyclopedia


Web development is a broad term for the work involved in developing a web site for theInternet (World Wide Web) or an intranet (a private network). Web development can range from developing the simplest static single page of plain text to the most complex web-based internet applications, electronic businesses, and social network services. A more comprehensive list of tasks to which web development commonly refers, may include web engineeringweb designweb content development, client liaison, client-side/server-side scriptingweb server and network security configuration, and e-commerce development. Among web professionals, "web development" usually refers to the main non-design aspects of building web sites: writing markup and coding. Most recently Web development has come to mean the creation of content management systems or CMS. These CMS can be made from scratch, proprietary or open source. In broad terms the CMS acts as middleware between the database and the user through the browser. A principle benefit of a CMS is that it allows non-technical people to make changes to their web site without having technical knowledge.[1]

For larger organizations and businesses, web development teams can consist of hundreds of people (web developers) and follow standard methods like Agile methodologies while developing websites. Smaller organizations may only require a single permanent or contracting developer, or secondary assignment to related job positions such as a graphic designer and/or information systemstechnician. Web development may be a collaborative effort between departments rather than the domain of a designated department. There are 3 kind of web developer specialization; Front-End Developer, Back-End Developer, and Full Stack Developer.


Contents

  [hide


Web development as an industry[edit]

Since the commercialization of the web, web development has been a growing industry. The growth of this industry is being driven by businesses wishing to use their website to sell products and services to customers.[2]

There is open source software for web development like BerkeleyDB, GlassFish, LAMP (Linux,Apache, MySQL, PHP) stack and Perl/Plack. This has kept the cost of learning web development to a minimum. Another contributing factor to the growth of the industry has been the rise of easy-to-use WYSIWYG web-development software, such as Adobe DreamweaverBlueGriffon and Microsoft Visual Studio. Knowledge of HyperText Markup Language (HTML) or of programming languages is still required to use such software, but the basics can be learned and implemented quickly with the help of help files, technical books, internet tutorials, or face-to-face training.

An ever growing set of tools and technologies have helped developers build more dynamic and interactive websites. Further, web developers now help to deliver applications as web services which were traditionally only available as applications on a desk-based computer. This has allowed for many opportunities to decentralize information and media distribution. Examples can be seen with the rise of cloud services such as Adobe Creative CloudDropbox and Google Docs. These web services allow users to interact with applications from many locations, instead of being tied to a specific workstation for their application environment.

Examples of dramatic transformation in communication and commerce led by web development include e-commerce. Online auction-sites such as eBay have changed the way consumers find and purchase goods and services. Online retailers such as Amazon.com and Buy.com (among many others) have transformed the shopping and bargain-hunting experience for many consumers. Another good example of transformative communication led by web development is the blog. Web applications such asWordPress and Movable Type have created easily implemented blog-environments for individual web sites. The popularity of open-source content management systems such as Joomla!DrupalXOOPS, and TYPO3 and enterprise content management systems such as Alfresco and eXo Platform have extended web development's impact at online interaction and communication.

Web development has also impacted personal networking and marketing. Websites are no longer simply tools for work or for commerce, but serve more broadly for communication and social networking. Websites such as Facebook and Twitter provide users with a platform to communicate and organizations with a more personal and interactive way to engage the public.

Practical web development[edit]

Basic[edit]

In practice, many web developers will have basic interdisciplinary skills / roles, including:

  • Graphic design / web design

  • Information architecture and copywriting/copyediting with web usability, accessibility andsearch engine optimization in mind

  • Mobile responsiveness

  • The above list is a simple website development hierarchy and can be extended to include all client side and server side aspects. It is still important to remember that web development is generally split up into client side coding, covering aspects such as the layout and design, and server side coding, which covers the website's functionality and back-end systems.

    Testing[edit]

    Main article: Software testing

    Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements The extent of testing varies greatly between organizations, developers, and individual sites or applications.

    Security considerations[edit]

    Web development takes into account many security considerations, such as data entry error checking through forms, filtering output, and encryption. Malicious practices such as SQL injection can be executed by users with ill intent yet with only primitive knowledge of web development as a whole. Scripts can be used to exploit websites by granting unauthorized access to malicious users that try to collect information such as email addresses, passwords and protected content like credit card numbers.

    Some of this is dependent on the server environment on which the scripting language, such asASP, JSP, Perl, PHP, Python, Perl or Ruby is running, and therefore is not necessarily down to the web developer themselves to maintain. However, stringent testing of web applications before public release is encouraged to prevent such exploits from occurring. If some contact form is provided in a website it should include a captcha field in it which prevents computer programs from automatically filling forms and also mail spamming.

    Keeping a web server safe from intrusion is often called Server Port Hardening. Many technologies come into play to keep information on the internet safe when it is transmitted from one location to another. For instance TLS certificates (or "SSL certificates") are issued by certificate authorities to help prevent internet fraud. Many developers often employ different forms of encryption when transmitting and storing sensitive information. A basic understanding of information technology security concerns is often part of a web developer's knowledge.

    Because new security holes are found in web applications even after testing and launch, security patch updates are frequent for widely used applications. It is often the job of web developers to keep applications up to date as security patches are released and new security concerns are discovered.

    See also[edit]

  • Web design

  • Web development tools

  • Web application development

  • Web developers

  • References[edit]

    1. Jump up^ Content management system

    2. Jump up^ Bureau of Labor Statistics, U.S. Department of Labor. "Information Security Analysts, Web Developers, and Computer Network Architects". Occupational Outlook Handbook, 2012-13 Edition. Retrieved 2013-01-17.

  • LCCN: sh98004795

  • Categories: 

    • Web development

     

    ooperate/Contribute /Wechat:wang1516101000(←Long press copy)

    Follow 世界语言学网ID:WorldLanauge

    2017 Year/Boost training

     Simple read origin Joint it!







相关问题推荐