Birds Eye View of HTTPWritten by Chris Inga
If you have been using internet for a while, you have probably typed into your browser something that starts with "http:" and ends with ".html", hit "Go", watched your modem lights flicker on and off, and a couple of seconds later you are magically looking at page of todays news or a page of pictures. Let's try and take some of magic away ...I thought about calling this article a "Geeks view of HTTP"; I am not going into nitty gritty, but rather present a sketch of how a geek might see something like HTTP, how they can think something like HTTP is simple, and why they are not trying to make things complicated just for sake of it! --* Layers *-- The background to sketch is that computers are full of layers. Programmers and designers think in layers, because organizing in layers makes it easier to build things. You don't need to know what or where layers are in your computer, or where one starts and another stops, but it is helpful to remember that they are everywhere because that is how geeks organize things. --* Specifications and Protocols *-- Specifications and Protocols are things that are mostly likely cause of all your computer frustrations ... but they are a necessary evil. A wise man once said that any specification longer than one line will have ambiguities and be a source of problems. There are lots of specifications and protocols in everyday life. An example of a protocol is when you are driving and see a red light you slow down and stop until it turns green. The specification of this protocol is rule that is (probably) written down in road-rule book. But we don't need to read road rules, it is just common sense to know to stop for a red light. Of course we all know words computers and common sense don't belong in same sentence, and that is why there are so many computer specifications and they are generally so long and detailed. A common sentiment is "you really need to spell things out for a computer". I think this is a bit misleading. It isn't computer that needs things spelt out, it is programmers and designers who build higher layers who need to spell things out for other programmers creating other higher layers. If one programmer ignores rules of a specification, or doesn't know there is a rule to follow, result can be same as if a driver runs a red light ... a crash. --* Connection *-- I have finished with background of sketch, and now I am going to draw a picture of a couple of boats in a bay, each with a two-way radio. I grew up around boats and always liked listening into chatter on two-way radios. The following conversations are from my memories of growing up, but ideas are probably same for cb and other forms of radio. The first boat we will call "Rock n Roll" second "Jazz". There was only one channel, and I noticed that there was a protocol that everyone seemed to follow (except on Sunday afternoons) to keep things orderly. I don't know if this protocol was written down anywhere as a set of specification rules or was just common sense. If Jazz wanted to call Rock n Roll they would wait until they heard current conversation end with an "Over and Out". They would wait a couple of seconds and then say something like "Rock n Roll, Rock n Roll, this is Jazz, do you read me, over". If someone on Jazz was listening, they would say "Rock n Roll, this is Jazz, go ahead, over". Bingo!, they have a connection. The same kind of thing happens when you type an address into your web browser and hit "Go". Your computer is just moving a bunch of numbers to modem. To keep things simple, lets ignore that modem is converting those numbers into sounds, and pretend that it is those numbers that are traveling out along your phone line. The reason sending numbers out along your phone can work, is that at other end of line is your ISP's computer. This computer, and all other computers on internet, have layers written by programmers and designed by computer architects, that follow strict and detailed specifications of what to do with numbers coming out of your computer.
| | Digital Rights ManagementWritten by Thom Leggett
As internet progresses in both popularity and structure, DRM is going to become very important in moving away from early free-for-all towards a more paid-for model. However, there is an argument over degree of restriction of freedom that DRM appears to lead toward. Copyright has always included an element of ‘fair use’, which gives consumer a certain degree of freedom. For example, you are allowed to quote or criticise another person’s work or, in certain countries (not in UK despite what many seem to believe), copy works for personal use. Many people fear that these are sort of rights that would be trampled by pervasive DRM. On other hand, many of those same people agree that some form of DRM is undoubtedly required if commerce of ideas, concepts and abstract works is to progress. This much-discussed problem is at least partly due to digital age we live in: it is now perfectly possible to make fully functional copies of work, at a fraction of cost of developing it yourself. You only have to look at phenomenal number of illegal music files and software packages available on internet to realise what an issue this is for people who make a living from something that can be distributed digitally. Some people get a bit hysterical when they hear term DRM, as they tend to assume that it means ‘big brother’ style controls on what we can see and hear on net. But concept of protecting digital content and intellectual property and/or copyright contained within, has been around for a while. Copy protection of CDs, software (e.g. activation on windows XP) and computer games are all examples of primitive DRM systems. DRM can be taken much further than this though and be used to control content on a more fine-grained level. For example, DRM applied to music files could allow you to play them on computer you downloaded them on, and make one copy to play in car, but then deny further copying or playing on other devices. Alternatively, it could allow you to hear song once before self-destructing. In effect, any method of distribution and licensing that copyright owner can conceive can in theory be enforced.
|