Difference between http:// and http://www [closed] - http

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 8 years ago.
Improve this question
Can someone please explain the difference between http:// and http://www and the effects of using each of these?
I tried to google but I didn't get much insight. I looked for it on Stackoverflow too, but couldn't find anything helpful.

http://
is a protocol, it tells the client and server what type of connection is being made. Think of it as your browser saying to the server "I am about to send you a HTTP (HyperText Transport Protocol) request". The server then knows how to "see" the request and respond.
Imagine I can speak 8 languages, but can't recognize them without being told. The http:// is the equivalent of saying to me
English: Hi Jon, how are you?
The English: tells me that you are about to speak English, and that I should respond in the same language.
The http:// simply tells the client and server how to talk to each other
www
This is just a hostname within the domain
eg
www.website.com
In many (dare I say most?) cases, www.website.com is set up to point directly at website.com, but it could easily be set up to point somewhere else. This very rarely happens, because people have come to expect www. in the URL
This is the equivalent of running a business from your home having several doors in your house, if someone comes in one door, they want your sweet shop. If they come in another, they are coming to your toy shop, and if they use the third, they are visiting your family for a cup of tea
A typical domain will have multiple "hosts", often providing different services. These may be on one server, or each may have it's own server.
eg
ftp.website.com
Points to the server which provides FTP services (file transfer protocol, for sending files)
smtp.website.com
Provides email services, and
www.website.com
Provides "World Wide Web" services (ie a website)
This was the original intention, when typically a company had one domain (company.com) and one example of each service. Nowadays, website use has expanded massively and we will typically provide many more services/websites from one domain, so will use other sub-domains for websites. This is akin to telling you where to find a service. "Oh you want the pub? It's down the road and round the corner"
eg
customers.website.com
May be for a customer login portal, but is still a website. www.website.com has simply endured as the typical use for a "homepage" website, because it has become ingrained in most people's mind.

Related

What's the difference between the World Wide Web and the Internet? [closed]

Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed last month.
Improve this question
I've seen a few online resources saying that WWW != The Internet. Can someone explain like they would to a complete noob?
Found that WWW consists of all web resourcces and identifies them using URL's. What is the internet then? Is it not the same? Or is the WWW a subset of the internet?
Pls help me understand
The internet is a global system of interconnected computer networks, upon which WWW is only one of the usable protocols, being used for multimedia (text+audio+graphic) information, which makes WWW part of the Internet.
In example, FTP which is a file transfer protocol, is part of the internet functionality, but not a part of WWW (but can be used as an ftp link as part of web page).
This is the reason why every web site address starts with http(s):// - you are telling the browser that you are using the http(s) protocol which is the protocol used by the World Wide Web.
Hope it was clear...
The internet is a global network of interconnected computer networks, while the World Wide Web (also known as the Web) is a collection of documents and other resources, linked by hyperlinks and URLs, that are accessed via the internet. The internet is the infrastructure that allows for the communication and transfer of data, while the Web is a way to access and share that data.
To use the internet, you need a device such as a computer, smartphone, or tablet, and a way to connect to the internet, such as through a wireless network or an internet service provider (ISP). Once connected to the internet, you can use a web browser to access the Web and view websites, as well as send and receive email, participate in online discussions, and more.

localised ip assist + DDOS prevention + google billing

We are very new in Google Cloud and learning.
I have two question marks in my mind.
First is
Can I create localisation IP addresses for virtual instances? like I open web site with German IP range or another web site I want assign under Italian IP range.
Where is the best place to start or is it possible under cloud.
Second is
We had DDOS attack to under cloud and resources made peak while under attack, Will google charge extreme price for that peak time or will be normal billing.
Second question brings to third one,
We using cloudflare for domains, Is there stable way yo prevent DDOS attacks under google cloud?
I appreciate your time and answers.
To your first point, are you after finding the shortest path between your users and wherever you serve your content? If that's the case, you can simply put a load balancer in front of your backend services within Google Cloud, with a global public forwarding IP address, and the service itself will take care of redirecting the traffic to the nearest group of machines available. Here is an example of a HTTP(S) Load Balancer setup.
Or is localization what you are trying to achieve? In that case I'd rely on more standard forms of handling the language of choice like using browser settings (or user account settings if existing) or the Accept-Language header. This is a valuable resource from LocalizeJS.
Lastly if you are determined to having multiple versions of your application deployed for the different languages that you support, you could still have an intermediate service that determines the source of the request using IP-based lookups and redirect the user to the version of your choice. Said so, my feeling is that this is a more traditional behavior that in the world of client applications that are responsive and localized on the spot, the extra hop/redirect could get to annoy some users.
To your second point, there is a number of protections that are already built-in on some services within Google Cloud, in order to help you protect your applications and machines in different ways. On the DDoS front, you can benefit from policies and protections on the CDN side, where you get cache and scaling based preventive measures.
In addition to that, and if you have a load balancer put in front of your content, you can benefit from protections on layers 3, 4 and 7 of the OSI model. That includes typical HTTP, SYN floods, port exhaustion or NTP amplification attacks.
What this means is that in many of these situations, your infrastructure will not even notice many of these potential attacks, as they'll be alleviated before they reach your infrastructure (and therefore you will not be billed for that). Said so, I have heard and experienced situations in which these protections did not act in a timely fashion, or were triggered at all. In these scenarios, there is a possibility for your system to need to handle that extra load. However, and especially in events when the attack was obviously malicious and documented to be supposedly handled by Google Cloud, there is a chance to make a point with Google in order to get some support on the topic.
A bit more on that here.
Hope this is helpful.

Hyperlinking to a nonserver machine

My church has a management software that we would like to have several people access at the same time but over the internet. We have a website but it is hosted by another company. Is it possible to create a hyperlink on our website to access this program on our office computer? The hyperlink would be setup so that it is not visible to those who don't have access to the program. We have tried several remote access program such as TeamView and Go2MyPC. These give access to the entire computer and that is not something we want either. If we can't do the hyperlink is it possible for us to turn this computer into a server and access it that way> Again the focus is for at least 5 people to be able to use this software at the same time should that need arise.
Our church management software is designed to be run on a network. We have already setup the user IDs and passwords for the group who currently have access to the it. The problem is that we only have one office computer and all of or group can't use it at one time because the each have access to different parts. I.e. Treasurer can only acces financial module, clerk can only access membership roster and so on. The goal is to find the path of least resistance that will allow as many of these people to access this software at the same time as possible remotely. I understand the security issues so to that I ask if anyone thinks we should get another computer to make into a server or turn this on we have into one.
Is there an advantage to hosting our own website on our machine where the management software is already located?
You actually have three different problems:
You are trying to use a "nonserver machine" as a server. I assume it doesn't have a static IP address; a static hyperlink will fail. Since you have a web site, you can set up your Management Software Server (for lack of a better name) to check in with your web site server, which will hold the latest IP address for your MSS. Your users can then check in with the web server and then connect to your MSS.
You are trying to keep most people out, but some people in. You need an authentication scheme. This usually means a login name and password, and a secure way to transmit it. SSL is probably what you want to look at. You'll need a SSL certificate (you can make your own), and a client program (web browsers work) that can make SSL connections.
You are trying to allow your users to do only some things, but not others. You need an authorization scheme. This is provided by the server application, such as the Windows Remote Desktop. Without knowing how much granularity you need, it's hard to say exactly what you need.
#bdares hit a bunch of your issues right on the head...
And then some... As a church, sounds of funding already ringing that they won't have that type of funding to handle... especially opening up a channel to the church management and possible accounting. Even if offering your own SSL certificate, getting hacked is getting easier and easier. If its a low budget operation with financial data readily easy for the taking, I'd hate to see a church (or any other legitimate non-profit organization) get messed up.
There are a lot of security issues to deal with and you can NOT take it lightly.

What does a Server do once it receives a request from a client? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I'm trying to get down to the details of what happens once a server gets a request from a client...
Open a socket on the port specified by the request...
Then access the asset or resource?
What if the resource refers to a cgi/script?
What "layers" does the request info have to pass through?
How is the response generated?
I've looked up info on "how the internet works", and "request response cycle", but I'm looking for details as to what happens inside the server.
It seems like you're having a little trouble separating out the different parts of your question so I'll do my best to help you out with that.
First and foremost, a common method for understanding communication between two computers is described using what is called the OSI model. This model attempts to distinguish the responsibilities between each protocol in a protocol stack. For example, when you surf a website on your home network the protocol stack is most likely something like
Ethernet-IPv4-TCP-HTTP
This modularization of protocols is used to create a separation of concerns so that developers don't have to "reinvent the wheel" each time they try to get two computers to communicate in some way. If you're trying to write a chat program you don't want to worry about packet loss or internet routing methodologies so you go ahead and take advantage of the lower level protocols that already exist and handle more of the nitty gritty stuff for you.
When people refer to socket communication these days they're typically using TCP or UDP. These are both known as transport protocols. If you'd like to learn more of the fine details on socket communication I would start with UDP because it's a simpler protocol and then move on to TCP.
While your web server is aware of some information in the lower level protocols it doesn't really do much with it. Primarily that's all handled by the operating system libraries which eventually hand the web server some raw HTTP data which the web server then begins to process.
To add another layer, HTTP has nothing to do with the gateway language running behind the scenes. This is fairly obvious due to the fact that the protocol is the same whether the web server is serving CGI perl scripts, PHP, ASP.Net or static HTML files. HTTP simply makes the request and the webserver processes the request accordingly.
Hopefully this clarifies a few concepts for you and gives you a better idea what you're trying to understand.
It depends on the server. An apache 2 server could do any amount of request rewriting, automatic responses (301, 303, 307, 403, 404, 500) based on rules, starting a CGI script, exchanging data with a FastCGI script, passing some data to a script module like mod_php, and so on. The CouchDB web server would do something else entirely.
Basically, aside from parsing the request and sending back the appropriate response, there's no real common aspect to web servers.
You could try looking into the documentation of the various web servers: Apache, IIS, lighttpd, nginx...

C# application pretending its from another country

I have a web service where i do different things according to where ones IP is from. I have a simple test application where i open a WebClient and makes it call the web service. I would like to be able to change the IP on the test application so that it "seems" that it comes from different countries (this will help me test goals in google analytics too) - is this possible - to change/simulate that my application is located in another country (France, Germany, Belgium, England, US, etc...)
It's possible to use a Proxy or an VPN Tunnel, but you'll need an End-Point in the country you want. But, there are also plenty of lists around the web for this.
The other answers more accurately provide a solution, but you could always fake it. Utilise your own small private network and provide a facade to handle IP locationing for DEBUG vs. PRODUCTION mode. All of this of course wouldn't trick Google ;-) but it would help solidify your application.
Sorry for possibly being redundant.
The obvious solution is to "bounce" through a proxy ser ver in each of the countries you wish to test for. I've had good luck in the past with sites such as proxy2free or publicproxyservers in the past.
Other solutions would involve running a client from a host in one of these countries, by way of a VPN / RDP / RAdmin-type session, but that implies owning assets or knowing people in these countries who would trust you with using their hosts in this fashion.
Another solution involves a bit of a program change in your application. By detection of a particular trigger (could be one of several different IPs but from the same country where you reside, could be some added parameter on the url such as &ctrytest=Spain etc.) your application would substitute the IP with one of several foreign IP (from the desired countries) at the level of the country detection logic in your code, but otherwise using the real IP from your client request to actually serve the application.
You probably realize it based on the previous answers, but just to be sure: IP addresses are not a certain indicator of the country a user is in. For example, I once worked in the US for a UK-based company, and we used IP addresses allocated to a UK-based ISP.
Ultrasurf may help: http://ultrasurf.en.softonic.com/
I don't think you can specify though, exactly where in the world your request is sent from.

Resources