1.3.4 Web Technologies Flashcards
What are Search engines ?
- are software systems that locate resources on the internet based on clients search criteria
- they rely on an index of webpages to find the page your looking for
- to build an index web crawlers are used
Stages of search engine indexing
- crawling
- indexing
- ranking
Search engine indexing process
- search engines user software programs called crawlers/spiders to discover webpages [1]
- web crawlers traverse the internet webpage by webpage following linked sites [1]
- web crawlers collect/record information such as keywords and meta tags from the linked sites/webpages and adds this info to the index [1]
- each word in the document is included in the pages index as an entry along with the words position on the page [1]
- the highest quality and most relevant to the user query webpages are returned
Meta tags and descriptions
Are a list of keywords or concise phrases specified by the website owner (<meta></meta> tags) that are built into each webpage
PageRank algorithm
- ranks each webpage, higher ranked webpages appear first on the search engine
Factors determining pageRank of a page
- number of incoming/inbound links it has from other webpages [1]
- the pageRank of the webpages that link to it [1]
- number of outbound links to other webpages [1]
Web representation
- the data structure used to represent the web is a directed graph to show which pages link to what websites
- every webpage is a node and any hyperlinks on the page are edges with the edge weightings dependant on the pageRank algorithm
Dampening factor
- is a value between 1 and 0 [1]
- is the probability that user will not follow a link [1]
Applying the pageRank algorithm
- the pageRank of a page is constantly being recalculated and updated
- this process continues until all the rankings become stable/ converge to a value
- can take hundreds or millions of iterations before the final PR value converges
Client and server side processing
In the client-server network model, data may be processed on either side, either by the client computer, the server, or both
What is a Server
A device which provides a central point of control/access [1]
Client side processing
- is when data is processed on the client computer rather than on the server
- client side processing takes place in the web browser of the device.
- JS is commonly is commonly used for processing data on the client side to validate data before it is sent to the server (eg. Email address)
1. Provides initial data validation
2. Provides webpage interactivity
3. Manipulates UI elements
4. Applies style (CSS)
5. Reduces load on server + amount of web traffic
Client side processing advantages
- enables users to have interactive and dynamic experiences without constantly requesting data from the server [1]
- webpages can respond immediately to user actions [1]
- websites will execute more quickly for the user [1]
- reduces load on the server [1] (benefit for company)
Client side processing disadvantages
- browser won’t run the code if JavaScript ins disabled [1]
- source code is visible allowing it to be copied/ modified [1]
- JavaScript can be amended and circumvented [1]
Client side use case
Used for tasks that require :
- immediate user feedback
- realtime interactions
- dynamic user interfaces
- data manipulation within the browser
Server Side processing
- the client sends data to a server for it to be processed
- this means no info is processed on the client computer
- SQL or PHP are used for server side processing
1. Provides further validation
2. Used to query a database
3. Updates server database
4. Performs complex calculations
Server side processing advantages
- JS may be circumvented/amended maliciously so server side validation is important to ensure integrity of server data [1]
- does not require plug ins
- can perform large calculations and process data much faster than client computers
- is not browser dependant
- more secure
Server side processing disadvantages
- requires continuous server interaction leading to increased load on the server
- slower response times due to latency during communication with the server
- may limit realtime interactivity and responsiveness in web applications
API (application programming interface)
- a set of protocols/rules that governs how two applications interact with each other
HTML
- HTML defines the structure and content of a web page [1]
- using tags [1]
CSS
- defines the style/appearance of a webpage [1]
- using selectors such as classes/IDs etc [1]
Why is server side processing needed?
- bc client side processing can be modified [1]
- and can sometimes be disabled on the browser [1]
- to prevent malicious code such as SQL injection [1]
Inline CSS
- is entered directly within the HTML body
- is useful for making one off style adjustments that are unlikely to affect any other part of the website
Internal CSS
- is placed inside of style tags and is entered directly within the html document
- changes have to be made to every page and it is a lot of work to keep the looks of the site consistent [1]