Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/a26f9f83/public_html/articles/includes/config.php on line 159
Web Standards > NetSparsh - Viral Content you Love & Share

Web Standards

HTTP Protocol

The web is run on port 80. You are probably wondering what "port 80" is, right (whether you actually are or not is irrelevant)? Well, the answer is easy (not really). See, the Internet and the web are different. The Internet is the infrastructure (ie the physical wires, the server hardware, etc) and the web is the ideas and the software. I say ideas because before the web the Internet was a mess of wires and powerful computers using POP3 and SMTP for communication, FTP for file transfer, and TELNET for remote shell access, among others. Then the web came along, and Internet use spread to the home and all across the world. See, in plain terms, a web server broadcasts HTML to all connected clients on port 80, so port 80 is the "HTTP port." HTTP is the protocol, or set of standards for port 80 and its software. The client software is your browser, (ie probably Internet Explorer but hopefully Firefox), and the server is something like Apache or IIS(uug). This relates to hacking, as you will see later, but first you need to know more about HTTP. (the spaces before the < & > are put in so this isnt thought of as HTML)

< html >

< body >

< img src="image.png" >< br >

< div align="center" >text< /div >

< /body >

< /html >

If Apache is serving that, and Firefox picks it up, It will replace the < img src... etc with the image found at image.png relative to the working directory of the page requested, (ie ./, current dir), and the < div... is turned into text printed in the middle of the page. Since the code is processed from top to bottom, the br means that the browser should skip down one line and start the rest from there. The top two and bottom two lines tell the browser what part of the page it is reading. You migh have noticed the < /div >, the < /body >, etc. They "close" the tag. Tag is a term for anything in s, and they must be opened (ie introduced) and closed (ie < /tag >). If you want to learn HTML tagging, just head over to our close friend Google and do a search.

Since you haven't gotten to the programming section, and currently I have not even wrote it, I will show you a web server example in the simplest form I can think of that will work on any OS you are currently using. So the obvious choice is JAVA:

import java.net.*; import java.io.*; import java.util.*;

public class jhttp extends Thread {

Socket theConnection;

static File docroot;

static String indexfile = "index.html";

public jhttp(Socket s) {

theConnection = s;

}

public static void main(String[] args) {

int thePort;

ServerSocket ss;

// get the Document root

try {

docroot = new File(args[0]);

}

catch (Exception e) {

docroot = new File(".");

}

// set the port to listen on

try {

thePort = Integer.parseInt(args[1]);

if (thePort < 0 || thePort > 65535) thePort = 80;

}

catch (Exception e) {

thePort = 80;

}

try {

ss = new ServerSocket(thePort);

System.out.println("Accepting connections on port "

+ ss.getLocalPort());

System.out.println("Document Root:" + docroot);

while (true) {

jhttp j = new jhttp(ss.accept());

j.start();

}

}

catch (IOException e) {

System.err.println("Server aborted prematurely");

}

}

public void run() {

String method;

String ct;

String version = "";

File theFile;

try {

PrintStream os = new PrintStream(theConnection.getOutputStream());

DataInputStream is = new DataInputStream(theConnection.getInputStream());

String get = is.readLine();

StringTokenizer st = new StringTokenizer(get);

method = st.nextToken();

if (method.equals("GET")) {

String file = st.nextToken();

if (file.endsWith("/")) file += indexfile;

ct = guessContentTypeFromName(file);

if (st.hasMoreTokens()) {

version = st.nextToken();

}

// loop through the rest of the input li

// nes

while ((get = is.readLine()) != null) {

if (get.trim().equals("")) break;

}

try {

theFile = new File(docroot, file.substring(1,file.length()));

FileInputStream fis = new FileInputStream(theFile);

byte[] theData = new byte[(int) theFile.length()];

// need to check the number of bytes rea

// d here

fis.read(theData);

fis.close();

if (version.startsWith("HTTP/")) { // send a MIME header

os.print("HTTP/1.0 200 OKrn");

Date now = new Date();

os.print("Date: " + now + "rn");

os.print("Server: jhttp 1.0rn");

os.print("Content-length: " + theData.length + "rn");

os.print("Content-type: " + ct + "rnrn");

} // end try

// send the file

os.write(theData);

os.close();

} // end try

catch (IOException e) { // can't find the file

if (version.startsWith("HTTP/")) { // send a MIME header

os.print("HTTP/1.0 404 File Not Foundrn");

Date now = new Date();

os.print("Date: " + now + "rn");

os.print("Server: jhttp 1.0rn");

os.print("Content-type: text/html" + "rnrn");

}

os.println("< HTML >< HEAD >< TITLE >File Not Found< /TITLE >< /HEAD >");

os.println("< BODY >< H1 >HTTP Error 404: File Not Found< /H1 >< /BODY >< /HTML >");

os.close();

}

}

else { // method does not equal "GET" if (version.startsWith("HTTP/")) { // send a MIME header os.print("HTTP/1.0 501 Not Implementedrn"); Date now = new Date(); os.print("Date: " + now + "rn"); os.print("Server: jhttp 1.0rn"); os.print("Content-type: text/html" + "rnrn"); }

os.println("< HTML >< HEAD >< TITLE >Not Implemented< /TITLE >"); os.println("< BODY >< H1 >HTTP Error 501: Not Implemented< /H1 >< /BODY >< /HTML >"); os.close(); }

}

catch (IOException e) {

}

try { theConnection.close(); }

catch (IOException e) { }

}

public String guessContentTypeFromName(String name) { if (name.endsWith(".html") || name.endsWith(".htm")) return "text/html"; else if (name.endsWith(".txt") || name.endsWith(".java")) return "text/plain"; else if (name.endsWith(".gif") ) return "image/gif"; else if (name.endsWith(".class") ) return "application/octet-stream"; else if (name.endsWith(".jpg") || name.endsWith(".jpeg")) return "image/jpeg"; else return "text/plain"; }

}

I learned the basics of JAVA web server programming from "JAVA Network Programming" by Elliotte Rusty Harold. Now you don't need to know JAVA to be able to understand that, even though it might not seem like that at first. The important thing to look for when examining the code it the os.print("") commands. There is nothing fancy being used to get the data to the browser, you don't have to mutate the data, its sending plain HTML via a simple command. The plain and simple truth is that the browser is doing the majority of the difficult stuff, when speaking about this simple server. But in complicated servers there is server-side scripting, etc. Webs are much more complicated than just a simple server and Internet Explorer, such as Flash and JAVA Applets (run on clients machine in browser) and server-side stuff like PHP and PEARL (displayed on clients browser as plain HTML but executed as scripting on the server). T

he code above is a good way to learn the HTTP standards, even though the program itself ignores most of the regulations. The web browser not only understands HTML but also knows that incoming connection starting with 404 means that the page is missing, etc. It also knows that when "image/gif" is returned the file is an image of type gif. These are not terms the stupid server made up. They are web standards. Generally speaking, there are two standards. There is the w3 standard (ie the real standard based on the first web servers and browsers) and the Microsoft standard (ie the Internet Explorer, IIS and NT standards). The standards are there so anyone can make a server or client and have it be compatible with (nearly) everything else.

Hiding your Connection

If you have a copy of Visual Basic 6, making a web browser is easy, thanks to Winsock and the code templates included, so I will not put in an example of that. Instead I will explain cool and potentially dangerous things you can do to keep yourself safe. I know those words put together doesn't make sense (ie potentially dangerous and safe), but you will see in a moment. I'm talking about PROXIES. (anonymous proxy servers, to be exact). You connect to the internet on port 80 through the proxy server, thus hiding your real IP. There are many obvious applications for this, but it is also the only really potentially dangerous thing so far, so I will restate what I have written at the top: Whatever you do with this info is your responsibility. I provide information and nothing more. With that said, there is nothing illegal about using an anonymous proxy server as long as it is free and you are harming no one by using it. But if you think you are completely safe using one, you are deadly wrong. They can simply ask the owners of the proxy what your IP is if they really want to find you. If you join a high anonymous server, the chance of them releasing your IP is pretty low for something like stealing music, but if you do something that would actually warrant jail time, they probably will be able to find you. www.publicproxyservers.com is a good site for finding these servers.

The last trick related to web servers and port 80 is a simple one. First, find a free website host that supports PHP and use the following code:

If the address of this file is http://file.com/script.php, to download the latest Fedora DVD you would go to the following address: http://file.com/script.php?destfile=linuxiso.org/download.php/611/FC3-i386-DVD.iso &password=passwd

You can change "passwd" to whatever password you want. This will make any onlookers think you are connected to http://file.com. You are still limited to the speed of your connection, but you are using the bandwidth of the web host

Whatever you do with the above information is solely your responsibility.

Mike Vollmer --- eblivion
http://eblivion.sitesled.com

In The News:

This RSS feed URL is deprecated, please update. New URLs can be found in the footers at https://news.google.com/news

New York Times

When a Tech Reporter Doesn't Use Much Tech
New York Times
How do New York Times journalists use technology in their jobs and in their personal lives? David Streitfeld, a technology reporter in San Francisco, discussed the tech he's using — and not using. For a tech journalist, you don't use a lot of tech ...


New York Times

The Benefits (and Limits) of Using Tech to Plan a Wedding
New York Times
Because of the deeply personal nature of a wedding, you can't just plan everything with a few taps on a smartphone or by sitting in front of a computer. Eventually you will have to talk to lots of people the old school way: on the phone or in person.


New York Times

How to Convert Photo Files in Bulk
New York Times
Q. I have hundreds of TIFF-formatted photos. Is there an efficient way to convert these photos to JPG all at once? A. Just as you can rename multiple photos at once through “batch processing,” you can convert a large collection of images from one file ...


New York Times

What Europe's Google Fine Means for Android Users
New York Times
Brian X. Chen, our lead consumer technology reporter, writes Tech Fix, a column about solving tech-related problems like sluggish Wi-Fi, poor smartphone battery life and the complexity of taking your smartphone abroad. What confuses you or makes you ...
Google quietly working on a replacement for Android, called Fuchsia, that's causing some fierce internal squabblingFinancial Post
Antitrust: Commission fines Google €4.34 billion for illegal practices regarding Android mobile devices to ...EU News
Android has created more choice, not less - Google BlogGoogle Blog
Bloomberg
all 556 news articles »

88.9 KETR

Businesses Need To 'Mind The Gap' Between Office Tech And Personal Tech
88.9 KETR
Our personal technology commentator, Jeremy Gamez, comments on a recent article emphasizing that businesses wanting to attract the brightest young employees need to be sure that their office technology is as good as Millennials' personal technology.


The Spoon (blog)

“How's My Programming?” Kiwi Founder Lists Personal Number on Delivery Bots
The Spoon (blog)
The Spoon @ FOOD IT: Felipe Chavez of Kiwi Campus from The Spoon on Vimeo. For more in-depth conversations about food tech, check out all of our video chats from the FOOD IT show and our Smart Kitchen Summits.


New York Times

Add Pictures to Android Contacts
New York Times
Q. How do I add an Android contact photo for someone who doesn't already have one so I can see something besides initials in a circle? A. Start by opening the Contacts app on your Android device and selecting the contact you'd like to dress up with a ...


New York Times

How the 52 Places Traveler Stays Charged While Chronicling the World
New York Times
How do New York Times journalists use technology in their jobs and in their personal lives? Jada Yuan, who is crisscrossing the globe as The Times's 52 Places Traveler, discussed the tech she's using. You are endlessly traveling, and you must have to ...


New York Times

How to Go Back to the Old Gmail
New York Times
Q. I tried to get used to the new Gmail web design, but I just don't like it. Can I go back to the old one? A. For the time being, Google is keeping around the previous version of Gmail on the web, and you can revert to the old look from the inbox ...


New York Times

Emergency Charging Options on the Road
New York Times
Likewise, the Federal Trade Commission has previously warned travelers about directly connecting phones to the USB jacks for the infotainment systems in rental cars because the phone could share personal data with the car's system, but a dedicated ...

and more »
Google News

Gain Control Over Your Screensavers With These Simple Steps

We all enjoy our favorite screensavers but in the same... Read More

Choosing a Portable MP3 Player: Part 1

MP3 players are everywhere! It seems that the number of... Read More

Smart Apple iPod Tips and Techniques

Are you thinking of buying an Apple iPod? Or have... Read More

The Advantages of Portable MP3 Players

With their solid-state technology, compact size, and abundant memory, portable... Read More

Cut Through the Hype and Make the Right Digital Camera Comparisons

There are soooo many choices. With all the styles and... Read More

How To Safeguard Your Computer?

The following practice, if done regularly, may help you to... Read More

The Importance Of Email Backup

Viruses, software failures, power failures, human errors, hard drive failures... Read More

Basic Problem in a PC

I have a p3 500MHz PC with 128MB RAM, 10.2... Read More

10 Tips to Stay Safe and Secure Online

The Internet can be a dangerous place.While you're enjoying the... Read More

Troubleshooting Computer Freeze (Lockup) Problems

How familiar does the following sound? Your computer was working... Read More

Image Formats: GIF, JPEG, BMP

When browsing the internet you are likely to come across... Read More

Portable Technology: Getting to Know the Treo

Up until the recent past, those who wanted to take... Read More

Is Desktop Search Deserving?

Google, in their march to stay ahead of the pack... Read More

Toshiba Wins Hollywood Support for the HD DVD format

What led them to this choice, as all four studios... Read More

Web Standards

HTTP ProtocolThe web is run on port 80. You are... Read More

Buying a Home Theater Receiver

Buying a receiver is one of the most important decisions... Read More

404 Error Pages: What Are They And How Do You Create One?

We've all seen them, you've been browsing a website and... Read More

PDA Bible Free Download

Your Bible At Your FingertipsIt is fairly easy to find... Read More

Selecting a Personal Digital Assistant

A Computer in Your HandCarrying around an address book and... Read More

Help, I Need a New HDTV! (Part 2 of 5)

Feeling overwhelmed in selecting a new TV? With all the... Read More

The Newbies Guide to Personal Computer Maintenance

When you turn on your computer, does it act like... Read More

Keeping the Windows Registry Operational

The registry is where the computer stores information about the... Read More

The Best MP3 Players Under $100

You don't have to fork out $250 for a super-diggy-whizbang... Read More

Back Up, Back Up, Back Up!

This is not your typical lost data story. I was... Read More

System File Checker - A Maintenance Utility

System File Checker is a great utility that is typically... Read More