Sie sind auf Seite 1von 14

Leksion 04

Hyrje ne ASP.NET 3.5


Te kuptojme aktoret
Nje aplikim web eshte ndryshe nga nje aplikim standard i Windows. Ai nuk ekzakutohet
ne nje proces te vetem ne nje makine te vetme. Ne realitet, vendoset ne nje server web
dhe aksesohet nepermjet nje browseri web qe ndodhet ne nje makine te klientit.
Komunikimi midis serverit web dhe web browserit realizohet duke perdorur HTTP. Eshte
e domosdoshme qe ju te keni nje kuptim baze te ketij komunikimi para se te filloni te
shkruani. Komunikimi tipik midis serverit web dhe web browserit mund te pergjithesohet
ne hapat e meposhtme:
Nje perdorues perdor ose browserin e tij/te saj web per te nisur nje kerkese (request)
per nje web server.
1. HTTP perdoret per te derguar nje kerkese GET ne web server.
2. Web serveri perpunon kerkesen GET ne server ( zakonisht gjen kodin e kerkuar
dhe e ekzekuton ate ) .
3. Web server dergon nje pergjigje ne web browser. Perdoret HTTP si protokoll per
te derguar nje HTTP (response) pergjigje drejt web browser.
4. Web browser i perdoruesit atehere proceson pergjigjen ( zakonisht HTML dhe
JavaScript ) dhe pergatit faqen web per tia shfaqur perdoruesit.
5. Perdoruesi pastaj mund te vendose te dhenat e tij ne nje forme dhe te kryeje nje
veprim si klikimi i nje butoni submit qe realizon dergimin pas (post back) te te
dhenave te tij ne web server per perpunim .
6. HTTP perdoret per te POST-uar (post back) te dhenat pas ne web server
7. Web server pastaj proceson kerkesen POST ( perseri , duke e thirrur kodin tuaj
per proces ) .
8. Web server dergon nje pergjigje perseri ne web browser. HTTP perdoret per te
derguar pergjigje HTTP ( response ) ne web browser
9. Web browseri serish proceson pergjigjen dhe shfaq faqen web per perdoruesin.

Ky proces perseritet pa pushim gjate nje sesioni tipik te aplikimit web.

Roli i Web Serverit


Web Serverat e pare ishin pergjegjes per pranimin dhe perpunimin e kerkesave
te thjeshta te perdoruesit nga browserat nepermjet
HTTP. Web serveri trajtonte kerkesen e dhe i dergonte nje pergjigje prapa web
browserit. Web serveri me pas mbyllte do lidhje mes tij dhe browserit dhe lironte te
gjitha burimet qe ishin te perfshire me kerkesen. Keto burime kane liroheshin lehte nga
web server pasi ishte
perfunduar procesimi i kerkeses. Ky lloj aplikimi web eshte konsideruar si pa gjendje
(stateless), sepse nuk mbaheshin te dhena nga serveri web ndermjet kerkesave dhe nuk
lihej asnje lidhje e hapur . Keto aplikacione zakonisht perfshinin faqet e thjeshta HTML
dhe per kete arsye ishin ne gjendje per te trajtuar me mijera kerkesa te ngjashme per
minute. Figura 1-1 tregon nje shembull i ketij mjedisi te thjeshte, pa gjendje
(stateless).

Serverat e sotem web ofrojne sherbime qe shkojne pertej serverave origjinale


web. Ve ofrimit te fileve statike HTML, serverat moderne web trajtojne
kerkesat per faqet qe permbajne kodin qe ekzekutohet ne server ; web server e
ekzekuton kete kod ne baze te kerkeses dhe i pergjigjet me rezultatet e marra.
Keto servera web gjithashtu kane aftesine per te ruajtur te dhenat ndermjet
kerkesave. Kjo do te thote se faqet web mund te jene lidhur se bashku per te
formuar nje aplikim web qe kupton gjendjen aktuale te kerkesave tek
do perdorues individual. Keto servera mbajne nje lidhje te hapur per
browserin per nje periudhe kohore ne pritje te kerkesave shtese nga i njejti
perdorues . Ky lloj i nderveprimit eshte ilustruar ne figuren 1-2.

1.3

Roli i web browserit

Web browser perben nje platforme te pavarur me mjete qe sherbejne per te


shfaqur faqet Web qe jane shkruar ne HTML. HTML eshte projektuar te jete ne
gjendje te shfaqe informacion ne do system operimi pa duke vene asnje
kufizim ne lidhje me madhesine e dritares. Kjo eshte arsyeja pse faqet web
konsiderohen te pavarura nga platforma. HTML eshte projektuar te "rrjedhje",
duke e mbledhur tekstin, si te jete e nevojshme per tu pershtatur me dritaren e
browserit. Browseri web gjithashtu tregon imazhe dhe pergjigjet per lidhjet me
faqet e tjera. do kerkese nga nje faqe web drejt web server, sjell pershtatjen
e web browser ne ekran per te shfaqur informacion te ri.
Edhe pse roli i browserit eshte thjesht te paraqese informacionin dhe te
mbledhe te dhena nga perdoruesit, shume teknologji te reja klient-side
mundesojne qe browserat e sotem web te ekzekutojne kode te tille si
JavaScript dhe te ofroje plug-ins qe permiresojne pervojen e perdoruesit.
Teknologjite te tilla si Asynchronous JavaScript dhe XML (AJAX), dhe Microsoft
Silverlight lejojne browserat web te komunikojne me serverat web pa hequr
web faqen qe ekziston nga dritarja e browserit. Keto teknologji e bejne
perdoruesin te kete eksperience me dinamike dhe interaktive.

1.4

Roli i Hypertext Transfer Protocol

HTTP eshte nje protokoll komunikimi i bazuar ne tekst qe eshte perdorur


per te kerkuar web faqe nga web serverat dhe per te derguar
pergjigjet perseri ne web browser. Mesazhet HTTP dergohen
zakonisht midis serverit web dhe web browserit duke

perdorur porten 80 ose porten 443 nese jemi duke perdorur


Secure HTTP (HTTPS).
Faqet zakonisht kerkohen nga nje perdorues duke hyre ne browserin e tij
dhe duke klikuar ne nje te bookmark preferuar, me ane te kryerjes se nje
kerkimi, ose nga formulimi i nje Uniform Resource Locator (URL). Kur kerkohet
nje faqe Web, dergohet nje komande tekstuale nga browseri per web serverin.
Kjo komande mund te duket si me poshte:

GET /default.aspx HTTP/1.1


Host: www.northwindtraders.com
Rreshti i pare ne kete komande permban ate qe quhet metode, e njohur edhe si
folje ose komande. Ne kete rast folja eshte GET. Folja eshte ndjekur nga nje
URL e faqes web qe do te shikohet (/default.aspx). Pas kesaj eshte versioni i
HTTP qe do te perdoret per te perpunuar komanden (HTTP / 1.1). Ne kete
menyre, metoda tregon veprimet qe do te kryhen nga serveri web, URL qe
eshte
objektivi i kesaj metode, dhe protokolli i komunikimit.
Rreshti i dyte i komandes (Host: www.northwindtraders.com) identifikon emrin
e hostit qe duhet te perdoret nga web serveri. Kjo eshte e dobishme ne qofte se
nje server web po hoston me shume se nje web site. Ne kete rast, web server
duhet te kaloje kerkesen ne vendin (site-n) e pershtatshem per perpunim. Ky
proces njihet si perdorimi i headers te hostit per te identifikuar web site-in qe
do te merret me kerkesen e dhene. Ka dhe metoda te tjera te percaktuara ne
HTTP. Tabela 1-1 permban nje liste te disa prej metodave te zakonshme HTTP
me nje pershkrim te perdorimet e tyre. Vini re se nese Authoring Distributed
dhe Versioning (DAV) eshte aktivizuar ne faqen e internetit, jane ne dispozicion
shume me teper folje, te tilla siLOCK dhe UNLOCK.

1.5 Cfare eshte autorizimi i shperndare dhe vendosja e


versionit

Autorizimi i shperndare dhe Versioning (DAV) eshte nje bashkesi e shtesave


(extensions) te HTTP/1.1 qe thjeshton zhvillimin e websiteve kur punohet ne
nje skenar si ekip. DAV eshte nje standard i hapur dhe eshte ne dispozicion ne
platforma te shumta.
DAV ofron mundesine per bllokimin dhe zhbllokimin e fileve dhe aftesine per te
caktuar versione.
DAV eshte ndertuar drejtperdrejt mbi HTTP / 1.1, keshtu qe nuk ka nevoje per
protokolle te tjera, te tilla si File Transfer Protocol (FTP) ose Server Mesage
Block (SMB). DAV gjithashtu ofron mundesine te pyese web serverin per
atributet e ndryshme te burimeve/resurseve te tilla si emri, timestamp, dhe
madhesia. DAV gjithashtu u jep zhvilluesve aftesine per te kryer kopjimin dhe
levizjen ne ane
server-side te fileve. Per shembull, ju mund te perdorni foljet HTTP GET dhe
PUT per te mare filet nga serverat web dhe per ti ruajtur ato ne vende te
ndryshme, ose ju mund te perdorin foljen e DAV COPY per ti treguar thjesht nje
serveri te kopjoje nje file.

Metoda
HTTP

Pershkrimi

OPTIONS

Perdoret nga aplikacionet e klientit per te kerkuar nje liste te te


gjitha foljeve. Ne kete
menyre, ju mund te kontrolloni per te pare nese nje server
lejon nje folje te veante para se te humbisni bandwidth rrjeti
duke u perpjekur per te derguar nje kerkese te pambuluar.

GET

Merr nje URL nga serveri. Nje kerkese GET per nje URL te
veante, le te themi, / testit.html, Merr file test.html. Te
dhenat e marra duke perdorur kete folje zakonisht vendosen ne
cache nga browseri. GET gjithashtu punon me koleksione, te
tilla si ato te direktorive qe permbajne koleksionet me file.
Nese ju kerkoni nje direktori, serveri mund te konfigurohet per
te kthyer nje file default, te tille si index.html, qe mund te jete
perfaqesues i direktorise.

HEAD

Merr informacionin meta per nje burim. Ky informacion eshte


zakonisht identik me informacionin meta te derguar ne
pergjigje te nje kerkese GET, por folja HEAD nuk kthen
asnjehere vete burimin. Informacioni meta mbahet ne cache.

POST

Dergon te dhena ne Web server per perpunim. Kjo eshte


zakonisht rezultat i perdoruesit qe vendos te dhena ne nje
forme dhe dergimit te te dhenave si pjese e nje kerkese.

PUT

Lejon nje klient te krijoje drejtperdrejt nje burim(resurs) ne


URL e shenuar ne server. Serveri merr trupin e kerkeses, krijon
file-in e specifikuar ne URL, dhe kopjon te dhenat e marra te
file I sapo krijuar. Nese file ekziston dhe nuk eshte i kycur,
permbajtja e files do te jete mbishkruhet.

DELETE

Perdoret per te fshire nje burim ne web server. Kerkon te


drejtat e shkrimit ne direktori.

TRACE

Perdoret per testimin dhe diagnostifikim; i lejon klientit te


shikoje se fare eshte duke u marre ne anen tjeter te zinxhirit
te kerkeses. Pergjigjet per kete metode nuk ruhen ne cache.

CONNECT

Rezervuar per perdorim me nje proxy qe dinamikisht mund te


kaloje ne gjendjen e nje tuneli, te tille si Sockets Secure Layer
protokoll (SSL).

DEBUG

I papercaktuar ne specifikimin e HTTP /1.1 , por perdoret per

te filluar ASP.NET debugging. Kjo metode informon Visual


Studio per procesin ne te cilin do te bashkengjitet debuggeri.

Komunikimi nga web browser ne web server eshte percaktuar si nje kerkese.
Ne ASP.NET, ka nje objekt Request qe eshte perdorur per te perfaqesuar
komunikimet e browserit web drejt nje web serveri. Ajo e vendos kerkesen mbi
burimet ne nje objekt qe mund te kerkohet ne kodin qe ne do te zhvillojme. Kjo
i mundeson kodit tuaj akses per gjera te tilla si cookies te lidhur me site-in
tuaj, parametrat string query qe u kaluan ne URL, pathin e kerkeses, dhe
informacione te tjera.
Komunikimit nga web server perseri ne web browser i referohemi zakonisht si
pergjigje (response). Ne ASP.NET ky informacion eshte i vendosur ne objektin
Response. Ju mund te perdorin kete objekt per te vendosur cookies, te
percaktojme procesin e caching, per te vendosur vendosur skadencen e faqes
dhe disa veprime me shume. Kur web server i pergjigjet nje kerkese, ai perdor
ate qe
gjen ne objektin Response per te shkruar pergjigjen HTTP ne format tekst. Ky
komunikim mund te duket si me poshte:

HTTP/1.1 200 OK
Server: Microsoft-IIS/6.0
Content-Type: text/html
Content-Length: 38
<html><body>Hello, world.</body><html>

Rreshti i pare tregon protokollin e komunikimit dhe version e informacionit. Ai


gjithashtu perfshin kodin e statusit per pergjigjen dhe arsyen qe shpjegon
kodin e statusit.
Kodet e statusit jane tre shifrat e grupuar si tregohet ne Tabelen 1-2.

Grupi i Status
Code

Pershkrimi

1xx

Informational: Request received, continuing to process.

2xx

Success: The action was successfully received, understood,


and accepted.

3xx

Redirect Command: Further action must be taken to


complete the request.

4xx

Client Error: The request has a syntax error or the server


does not know how to fulfill the request.

5xx

Server Error: The server failed to fulfi ll a request that


appears to be valid.

Perve grupeve te kodit te statusit, HTTP / 1.1 percakton dhe kodet unike te
statusit dhe arsyet. Nje arsye nuk eshte asgje me shume se nje pershkrim
shume i shkurter i kodit te statusit. Tabela 1-3 tregon nje liste te kodeve te
perdorura me teper te statusit dhe arsyet e tyre. Teksti i arsye mund te
ndryshohet pa u thyer protokolli.

Status
Code

Qellimi

100

Continue

200

OK

201

Created

300

Multiple Choices

301

Moved Permanently

302

Found

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

407

Proxy Authentication Required

408

Request Time-out

413

Request Entity Too Large

500

Internal Server Error

501

Not Implemented

Rresht i dyte i pergjigjes tregon llojin e web server (p.sh., Server: Microsoft-IIS
/ 6.0). Rreshti i trete (Content-Type) tregon llojin e burimeve qe eshte duke u
derguar ne web browser si pjese e pergjigjes. Ky tregues eshte ne formen e nje
lloji Multipurpose Internet Mail Extensions (MIME type). Ne rastin e ketij
shembulli (Content-Type: text / html), file eshte nje skedar statik teksti HTML.
Lloji MIME eshte e ndare ne dy pjese ku eshte caktuar tipi / nentipi, ne te cilin
pjesa e pare eshte lloji burimeve (teksti ne kete shembull), dhe pjesa e dyte
eshte nentip burim ( html ne kete shembull ). Disa lloje te zakonshme MIME
jane treguar ne Tabelen 1-4.

Mime
Type

Pershkrim

Text

Informacione tekstuale.

Image

Te dhenat imazh. Kerkon nje pajisje ekran (te tilla si nje ekran
grafik ose a grafik printer) per te pare informacionin.

Audio

Te dhenat audio. Kerkon nje pajisje audio output (te tilla si


kufje) per "te degjuar" permbajtjen.

Video

Te dhenat video. Kerkon aftesine per te shfaqur imazhe qe


levizin, ne menyre standarte duke perfshire hardware dhe
software te specializuara. Nje nentip fillestar i quajtur mpeg
eshte percaktuar per kete lloj.

Application

Lloje te tjera te te dhenave, te dhena te painterpretuara binare


ose informacion qe do te perpunohet nga nje aplikim. Nentipi
PostScript percakton transportin e materialit PostScript.

Rreshti tjeter eshte gjatesia e permbajtjes (Content-Length: 38 ne kete shembull). Kjo


thjesht tregon madhesine e permbajtjes qe vijon. Pas rreshtit gjatesi-permbajtje, eshte
mesazhi pergjigje qe u kthye nga serveri. Ky mesazh eshte i bazuar ne llojin MIME.
Browseri tenton te procesoje permbajtjen bazuar ne llojin e vet MIME. Per shembull, ai e
interpreton HTML per MIME type HTML, dhe ben nje imazh, per llojin MIME image.

1.6

Dergimi i te dhenave te forms ne web server

HTML <form> tag mund te perdoret per te krijuar nje faqe web qe merr te
dhena nga perdoruesit dhe dergon te dhenat e mbledhura perseri ne web
server. Formati tag eshte mbivendosur brenda <HTML> tags. Tagu form
zakonisht perfshin informacion per perdoruesit ne formen e tekstit dhe te

dhena tag si per shembull butonat inputet e tipit text e dis ate tjera. Nje
perdorim tipik i <form> tag duket si ky:

<form method="POST" action="getCustomer.aspx">


Enter Customer ID:
<input type="text" name="Id">
<input type="submit" value="Get Customer">
</form>
Kjo forme shembull i kerkon perdoruesit nje ID te konsumatoreve, tregon nje
kuti teksti qe mbledh ID e deshiruar te konsumatoreve, dhe gjithashtu tregon
nje buton Submit qe realizon dergimin e te dhenave ne server web. Atributi
method e formes tag tregon foljen HTTP (POST) per te perdorur kur derguar
kerkesen ne server.Atribut veprim eshte URL relative e faqes per i cili do te
dergohet kerkesa.
Ka dy metoda HTTP qe mund te perdoren per te paraqitur te dhenat forme
perseri ne web server: GET dhe POST. Kur eshte perdorur folja GET, te dhenat i
bashkengjiten si pjese e vargut URL. String query eshte nje koleksion i celesit
ky dhe vleres, te ndara nga nje simbol (&). Fillimi i vargut eshte treguar nga
nje pikepyetje (?). Me poshte eshte nje shembull:

GET /getCustomer.aspx?Id=123&color=blue HTTP/1.1


Host: www.northwindtraders.com
Ne kete shembull, nje kerkese GET eshte bere ne web server per nje faqe web
te quajtur getCustomer.aspx ne hostin e faqes web.
String query permban te dhenat e formes pas pikepyetjes (?).
Kur duke perdorur metoden GET per te derguar te dhenat ne server, komplet
URL dhe query string mund te shihet dhe te modifikohet ne shiritin e adresave
te shfletuesit web. Mbani ne mend se, ne varesi te skenarit, kjo mund te jete
nje disavantazh apo edhe nje rrezik i sigurise. Ju nuk duhet te lini te hapura te
dhenat tuaja. Ju gjithashtu mund te mos deshironi qe perdoruesit te bejne
bookmark faqet qe perfshijne query string dhe te dergoni ne web server
gjithnje te njejtin informacion, per arsye sigurie dhe jo vetem. Nje tjeter
disavantazh eshte se query string eshte e kufizuar ne madhesi nga web
browseri dhe web serveri i perdorur. Per shembull, nese jemi duke perdorur
Microsoft Internet Explorer dhe IIS, kufiri per nje query string eshte 1024
karaktere.
Metoda POST eshte menyra e preferuar e paraqitjes se te dhenave perseri ne
server si pjese e nje kerkese HTTP. Kur folja POST eshte perdorur, te dhenat
eshte vendosur ne trupin e mesazhit te kerkesa si vijon:

POST /getCustomer.aspx HTTP/1.1


Host: www.northwindtraders.com
Id=123&color=blue

Duke perdorur foljen POST heq kufizimet e madhesise ne te dhenat. ( Per nje
prove me shume se 10 megabajt te dhena jane publikuar per te pare nese web
server do te pranoje te dhenat. Ajo ka punuar, por dergimi i te dhenave te
shumta neper internet mund te shkaktoje probleme te tjera, kryesisht te
lidhura me bandwidth, te tilla si problemet e performances.) Perve kesaj,
metoda POST e pengon perdoruesin te manipuloje kerkesen ne shiritin e
adresave te browserit te tyre.
Ne vend te kesaj, te dhenat jane te fshehura ne trupin e mesazhit. Prandaj, ne
shumicen e kenareve, metoda POST eshte menyra me e deshirueshme per te
derguar te dhena ne web server.
Dergimi i te dhenave perseri ne server si pjese e kerkeses suaj eshte
permendur shpesh si nje postback ne ASP.NET. Edhe pse emri i saj vjen nga
metoda POST, eshte e mundur te kryhet nje post back perdorur metoden GET
tashme te pershkruar. Nje web faqe ASP.NET permban nje atribut quajtur
IsPostBack qe eshte perdorur per te percaktuar nese te dhenat jane duke u
kthyer ne web server apo nese web faqja eshte thjesht duke u kerkuar.

1.7

HTTP Troubleshooting

Ju mund te shikoni shkembimin e mesazheve HTTP midis shfletuesit dhe server


duke perdorur nje sniffer rrjeti. Snifferi kap te gjitha paketat te derguara mes
web browser dhe web server, dhe ju thjesht mund te shikoni te dhenat dhe te
lexoni mesazhe te tilla si Request dhe Response te pershkruara ne kete
seksion.
Nje tjeter mjet qe ju mund te perdorni per diagnostifikim te HTTP eshte Telnet.
Telnet nuk eshte asgje me shume se nje emulator terminali qe dergon dhe merr
te dhenat tekstuale ne porten 23, por ju mund te specifikoni porten 80 per te
komunikuar me web serverin. Me Telnet, ju mund te shkruani HTTP komandat
dhe te shikoni rezultatet.
Ka edhe shume aplikacione qe ju mund te shkarkoni nga Interneti per te
analizuar HTTP.
Ushtrim 1: Start Telnet
Start CMD
CLS
Telnet.exe
Set localecho
Set crlf
Ushtrim 2: Komunikimi me Web Site
o msn.com 80
Shtyp enter disa here
GET / HTTP/1.1
Host: msn.com
Shtyp enter 2 here
1.8 Krijimi i Web Site
Visual Studio 2010 ju lejon te testoni: Nje projekt web site te ri te bazuar ne
menyren se si keni ndermend per te hyre ne permbajtjen e faqes nga web

server. Ju mund te krijoni nje projekt web i lidhur me nje server file-sistemi i te
cilit te jete i bazuar ne kompjuterin tuaj, nje server IIS, ose nje server FTP.
Ne vijim pershkruhet do opsion ne detaje te metejshme:
File Sistemi, web site i bazuar ne file ruan te gjitha filet per faqen e internetit
brenda ne nje folder sipas zgjedhjes suaj. Ky web site perdor lightweight
ASP.NET server i cili gjendet ne Visual Studio 2010. Nje file sistem eshte i
pershtatshem kur ju deshironi per te ekzekutoni web site-in tuaj ne nivel local
Ftp Ky opsion eshte perdorur zakonisht kur web site-i tuaj eshte ne nje
kompjuter te larget dhe aksesi juaj per filet dhe direktorite ne ate server eshte
nepermjet FTP.
Http Nje web site te bazuar ne HTTP perdoret kur ju jeni duke punuar me file
te cilat ndodhen brenda IIS (ose ne nivel lokal ose ne nje server ne distance).

1.9 Kijimi i nje Web Application

Visual Studio ofron nje mjet baze per te krijuar nje projekt web.

Klikojme me te djathten mbi emrin e aplikacionit qe krijuam dhe shkojme tek


Properties

Das könnte Ihnen auch gefallen