Listennad kodoù-statud HTTP

**Kodoù-statud HTTP** a reer eus ditouroù a vez eskemmet er protokol HTTP etre un arval ( *client* ; un ergerzher peurliesañ) hag ur servijer (*server*) pa c'houlenn an arval tizhout ur chomlec'h IP — dav eo diforc'hañ etre an arval, a zo ur meziant, hag un implijer (*user*), a zo un den.

**HTTP** (*HyperText Transfer Protocol*) zo ur protokol pellgehentiñ etre un arval hag ur servijer, a zo bet krouet evit ar World Wide Web. Ur gentel suraet dre zilesadur ha sifrañ eo HTTPS, m'emañ *S* evit *secure*.

Kodoù-statud a vez ganet gant ur servijer evit respont d'ur goulenn digant un arval. Pemp rummad kodoù zo, pep unan o klotañ gant ur rummad respontoù.
*1*nn* : kelaouiñ • Degemeret eo bet ar goulenn, emeur o plediñ gantañ.
*2*nn* : pennvad – Mat eo bet degemeret ar goulenn, komprenet eo bet hag asantet.
*3*nn* : adkas – Oberoù ouzhpenn zo rekis evit peurechuiñ ar goulenn.
*4*nn* : fazi e tu an arval – Ur fazi ereadurezh zo er goulenn pe ne c'hall ket bout kaset da bennvat.
*5*nn* : fazi e tu ar servijer – Ar servijer n'eo ket deuet a-benn da gas da bennvat ur goulenn a hañval bout gwiriek.
Buan-tre e c'hoarvez an eskemmoù etre an arval hag ar servijer, diwelus int d'an den a zo o vizskrivañ war klavier un urzhiataer evit tizhout ur chomlec'h bennak. Ar fazioù avat a zeu war wel war ar skramm. 
An dud hag a skriv an urzhioù, eleze an diorroerien hag an diorroerezed stlenneg, a wel pep tra evel-just.
***NOTENN :** ofisiel eo ar c'hodoù a zo listennet amañ. Tremen 50 kod nann-ofisiel a zo bet ouzhpennet gant embregerezhioù — Twitter en o zouez — evit o eskemmoù dezho hepken.

## 1''nn'' Kelaouiñ
Degemeret ha komprenet eo bet ar goulenn. Ar c'hodoù 1*nn* zo kaset da c'hortoz, endra emeur oc'h ober war-dro ar goulenn, evit lavaret d'an arval gortoz ur respont disoc'hel.
;`100` – *Continue* • Kendalc'hit
:Talbenn ar goulenn zo erru er servijer, an arval a c'hall kenderc'hel da gas an nemorant eus ar goulenn. Didalvez e vez ar stlennoù-se mard eo bet nac'het talbenn ar goulenn. Arabat eo d'an arval kas ar stlennoù mar resev kod ur fazi (4*nn*).
;`101` – *Switching Protocols* • O kemmañ ar protokoloù
:An arval en deus goulennet ma vefe kemmet ar protokol, hag asantet en deus ar servijer.
;`102` – *Processing* • Emeur oc'h ober war-dro
:Emañ ar servijer oc'h ober war-dro ar goulenn, met n'eus ket a respont dibenn c'hoazh ; 102 zo kaset evit ma ne c'hortozfe ket an arval pelloc'h eget an amzer a zo bet termenet er protokol. Kement-se a c'hoarvez pa ra an arval gant WebDAV (*Web-based Distributed Authoring and Versioning*), un astenn da HTTP hag a ro tu da verañ restroù — lakaat, kempredañ, embann, kemer —, ar pezh a aotre an arval da skrivañ restroù ouzhpenn d'o lenn ; hir eo an ober-se a-wezhioù, dreist-holl pa vez meur a arval war un dro o kemmañ restroù.
:*Dispredet eo ar c'hod 102.
;`103` — *Early Hints* • Ditouroù abred
:Da c'hortoz ar respont disoce'hel e kas ar servijer liammoù a c'hall bout enkarget en a-raok gant an arval.

## 2''nn'' Pennvat
Degemeret, komprenet hag asantet eo bet goulenn an arval. Hervez doare ar goulenn e vo ar respont : mard eo `GET` an doare, ar respont a endalc'ho ur stlenn a glot gant al loaz (*resource*) a zo bet goulennet ; mard eo `POST` an doare, ar respont a endalc'ho ur stlenn a zeskriv pe a endalc'h disoc'h an ober.
;`200` – *OK* • Mat
:Ar respont boas eo pa vez mat ar goulenn HTTP.
;`201` – *Created* • Krouet
:Ar goulenn zo bet kaset da bennvat, hag ul loaz nevez zo bet krouet.
;`202` – *Accepted* • Asantet
:Asantet eo bet ar goulenn, emeur oc'h ober war e dro, hogen n'emañ ket peurc'hraet c'hoazh. Ar goulenn a c'hall bout nac'het e-kerzh an ober.

;`203` – *Non-Authoritative Information* • Ditour nanndesteniet
:Ur proksi (*proxy*) treuzfurmer eo ar servijer, da lavaret eo ur meziant P hag a zo un hanterour etre ar goulenner A hag ar responter B. Ur c'hod 200 (OK) zo bet resevet gant P, hogen ur respont argemmet a gas da A.
;`204` – *No Content* • Loaz goullo
:Graet eo bet war-dro ar goulenn gant ar servijer, hogen n'eus stlenn ebet da gas d'an arval.
;`205` – *Reset Content* • Freskait al loaz
:Mat eo bet graet war-dro ar goulenn gant ar servijer, a c'houlenn ma vo freskaet al loaz, ha na gas stlenn ebet.
;`206` – *Partial Content* • Loaz darnel
:Ne gas ar servijer nemet un darn eus al loaz, en abeg d'ar skalfad a zo bet termenet gant an arval. Termenet eo bet ar skalfad evit bout gouest da genderc'hel gant ur pellgargañ a zo bet troc'het, pe evit rannañ ur pellgargañ etre redoù kempred.
;`207` – *Multi-Status* • Meur a respont
:Ur c'hemennad XML (*EXtensible Markup Language*) eo al loaz a vo kaset gant ar servijer, gant meur a god-statud ennañ hervez an niver a is-goulennoù a zo bet graet.
;`208` – *Already Reported* • Kaset c'hoazh
:Kontet c'hoazh ez eo bet an arvalioù a zo bodet en ur WebDAV en ur respont lies a oa bet kaset kentoc'h, na ne vo ket respontet dezho ur wezh ouzhpenn.
;`226` – *IM Used* • *Instance-Manipulation* implijet
:Kaset da benn eo bet ar goulenn evit ul loaz, hag ar respont zo ur skeudenn eus unan pe meur a argemm zo bet degaset d'al loaz emeur o plediñ gantañ.

## 3''nn'' Adkas
Ret eo d'an arval ober traoù ouzhpenn evit klokaat ar goulenn ; evit adkas un URL (*Uniform Resource Locator*, da lavaret eo ur chomlec'h IP, un ISBN, ul lec'hienn Web...) e vez implijet ar c'hodoù-se peurliesañ.
;`300` – *Multiple Choices* • Meur a zibab
:Meur a zibab zo d'al loaz, d'an arval eo da ziuz. Da skouer : meur a stumm evit ur skeudenn (.bmp, .jpg, .png, .svg hag all).
;`301` – *Moved Permanently* • Dilec'hiet da viken
:Ar goulenn hag an holl re a vo war e lerc'h a zle bout tuet war-du an URI (*Uniform Resource Identifier*) a zo roet — un URI a c'hall bout un URL pe un URN (*Uniform Resource Name*).
;`302` – *Found* • Kavet
:**Moved temporarily* "dilec'hiet da c'hortoz" e oa gwezhall.
:Evit lavaret d'an arval mont davit un URI all, a zo da c'hortoz. Er gentel HTTP/1.0, an arval a zlee sevel un adkas dre an urzh `GET` pe `POST` ha mirout ar merk en devoa diuzet. En ergerzherioù implijetañ avat ez eus un 302 hag a adkas dre an urzh `POST` hepken ; neuze ez eo bet ouzhpennet ar c'hodoù-statud 303 ha 307 evit diforc'hañ etre an daou zoare.
;`303` – *See Other* • Gwelit egile
:Kavet e vo ar respont dre un URI all en ur ober gant an doare `GET`. Un arval hag en deus kaset ur merk `POST` hag a resev ur c'hod 303 a zle kompren ez eo bet degemeret ar stlennoù gant ar servijer hag ez eo rekis kas ur merk `GET` d'an URI a zo roet.
;`304` – *Not Modified* • Digemm
:N'eus bet degaset kemm ebet el loaz abaoe ar goulenn diwezhañ, neuze ne vo ket adkaset peogwir e oa bet pellgarget a-raok.
;`305` – *Use Proxy* • Grit gant ur proksi
:Dre ur proksi hepken e c'heller tizhout al loaz ; er respont emañ chomlec'h ar proksi-se. Evit abegoù a surentez, meur a arval d'ar protokol HTTP (evel Mozilla Firefox) ne sentont ket d'ar c'hod-statud 305.
;`306` – *Switch Proxy* • Kemmit proksi
:*Dispredet. Gwezhall : « Dre ar proksi a zo roet e vo rekis kas ar goulennoù da zont ».
;`307` – *Temporary Redirect* • Adkas da c'hortoz
:Rekis eo adkas ar goulenn gant un URI all, hogen gant an URI kent e vo ret kas ar goulennoù da zont. Ouzhpenn da gement-se, arabat eo kemmañ an doare : dre an urzh `POST` e ranker adkas ar goulenn mard oa bet kaset dre `POST` er penn-kentañ.
;`308` – *Permanent Redirect* • Adkas padus
:Ar goulenn-mañ hag an holl re a vo d'e heul a ranko bout kaset d'an URI a zo roet. Kenster gant ar c'hod 301 eo 303, nemet ne aotre kemm ebet en doare HTTP.

## 4''nn'' Fazi e tu an arval

Ur fazi zo bet a-berzh an arval. War wel e teu ar c'hodoù-se peurliesañ, a-gevret gant un displegadenn bennak hag ur c'hemennad a-zivout padelezh ar blegenn. Atav e vezont kaset pa vez ur fazi, ne vern pe zoare ar goulenn fazius, war-bouez ar re a zo bet kaset dre `HEAD`.
;`400` – *Bad Request* • Goulenn fall
:Ar servijer ne c'hall ket ober war-dro ar goulenn, pe ne raio ket, en abeg d'ur fazi a-berzh an arval ; da skouer : ereadurezh ("https://br.wikipedia.bzh/"), ur goulenn re hir, ur fazi e framm ar goulenn (n'eo ket bet kaset er stumm reizh gant an urzhiataer), diheñchet eo bet ar goulenn, hag all.
;`401` – *Unauthorized* • Diaotre
:Ret eo bout anavet gant ar servijer evit ma rafe war-dro ar goulenn, kevreañ dre un anv hag ur ger-tremen zo ret neuze evit tizhout al loaz a glasker. 
;`402` – *Payment Required* • Paeamant rekis
:Ret eo paeañ evit tizhout al loaz.
;`403` – *Forbidden* • Berzet
:Frammet-mat e oa ar goulenn ha komprenet eo bet gant ar servijer, met nac'h a ra hennezh mont pelloc'h. Marteze n'eo ket aotreet an implijer peogwir e rank krouiñ ur gont bennak, pe klasket en deus seveniñ un ober a zo berzet, evel eilañ ul loaz ez eo arabat e vefe meur a skouerenn anezhañ. Arabat eo adkas ar goulenn pa resever ur c'hod 403.
;`404` – *Not Found* • N'eo ket bet kavet
:N'eo ket bet kavet al loaz a zo bet goulennet, met implijadus e vo en dazont marteze. Aotreet eo kas ar goulenn en-dro pa resever ur c'hod 404.
;`405` – *Method Not Allowed* • Doare berzet
:Ne c'heller ket tizhout al loaz dre an doare ma 'z eo bet savet ar goulenn. Da skouer : ur goulenn savet dre an urzh `GET` en ur furmskrid ma 'z eo rekis e vefe dre `POST`, pe ur goulenn dre `PUT` kaset war-du ul loaz a c'heller lenn hepken.
;`406` – *Not Acceptable* • Dizegemeradus
:Disheñvel diouzh unan da nebeutañ eus an arventennoù `Accept` a zo bet termenet el loaz eo unan da nebeutañ eus an arventennoù `Accept` a zo bet termenet er goulenn. Da skouer : an arval a c'houlenn ma vefe respontet e brezhoneg pe e saozneg (dre an urzh `Accept-language: br; q=1.0, en; q=0.5`), hogen al lec'hienn ne c'hall respont nemet e galleg peogwir ez eo bet ebarzhet an urzh `Accept-language: fr` hepken enni.
;`407` – *Proxy Authentication Required* • Ret eo kevreañ ouzh ar proksi
:Ret eo d'an arval kevreañ ouzh ar proksi kent kas e c'houlenn.
;`408` – *Request Timeout* • Goulenn e-maez ar gedvezh
:Re hir amzer ez eo bet ar servijer o c'hortoz. Hervez dezverkoù ar protokol HTTP, an arval n'en deus ket kaset e c'houlenn e-kerzh an amzer a zo bet termenet evit gedvezh ar servijer. Aotreet eo an arval da adkas e c'houlenn digemm forzh pegoulz en dazont.
;`409` – *Conflict* • Tabut
:N'eus ket bet tu da ober war-dro ar goulenn en abeg d'un tabut e stad al loaz, evel un tabut a-fet kemmadennoù disheñvel e hizivadennoù kempred.
;`410` – *Gone* • Aet da get
:Bez' ez eus bet eus al loaz a zo goulennet, hogen n'eus mui anezhañ ha ne c'hallo mui bout tizhet peogwir n'eus bet merket chomlec'h all ebet. An abeg eo ez eo bet dilamet al loaz hep bout bet skarzhet penn-da-benn. Pa resev ur c'hod 410 e tlefe an arval spurjañ e gribenn. Arabet eo dezhañ adkas ar goulenn. Ur c'hod 404 a c'hall bout kaset e-lec'h unan 410.
;`411` – *Length Required* • Hirder rekis
:Hirder e endalc'h n'eo ket bet termenet er goulenn, petra bennak ma 'z eo goulennet gant al loaz a glask an arval tizhout.
;`412` – *Precondition Failed* • Rakamplegad diwiriek
:Ar servijer ne glot ket gant unan eus an amplegadoù a zo bet termenet er goulenn.
;`413` – *Content Too Large* • Endalc'h re vras
:**Request Entity Too Large* "re vras eo ar goulenn" e oa gwezhall.
:Brasoc'h eo endalc'h ar goulenn eget ar pezh a c'hall pe a venn ar servijer plediñ gantañ.
;`414` – *URI Too Long* • URI re hir
:**Request-URI Too Long* "goulenn-URI re hir" e oa gwezhall.
:Re hir eo an URI a zo merket, ne c'hall ket ar servijer ober war e dro. Alies e c'hoarvez en abeg ma 'z eus bet lakaet ur steudad goulennoù dre an urzh `GET`, padal e tremenfe dre un urzh `POST`.
;`415` – *Unsupported Media Type* • Doare media diembreget
:Ne c'hall ket ar servijer pe al loaz embreg stumm unan eus ar restroù a zo er goulenn. Da skouer : an arval a gas ur skeudenn er stumm `.svg` padal ne oar ket ar servijer plediñ gant ar stumm-se.
;`416` – *Range Not Satisfiable* • Dic'houest da vastañ d'ar skalfad
:**Requested Range Not Satisfiable* "Dic'houest da vastañ d'ar skalfad a zo bet goulennet" gwezhall.
:An arval en deus goulennet ma vefe kaset dezhañ ur rann eus ur restr pe veur a hini, dre lakaat e talbenn ar goulenn ar merk `Range:` heuliet gant hirder ar steudad ditouroù a venn kaout ; hogen ne c'hall ket ar servijer pourchas ar rann-se. Da skouer : unan eus videoioù ar c'haner-mañ-kaner a zo en e lec'hienn, pe ur rann hepken eus ur meziant bras a vo pellgarget a-dammoù.
;`417` – *Expectation Failed* • Gortoz diwiriek
Ne c'hall ket ar servijer bastañ d'an urzh `Expect: 100-continue` a zo e talbenn ar goulenn. (Mar gall ec'h adkas ur merk `HTTP/n.n 100 continue`, hag an arver a lavar pe loaz en deus ezhomm da dithout, da skouer `[Video data as content for PUT request]`).
;`418` – *I'm a teapot* • Ur pod-te on-me
:Un pesk-Ebrel gant an IETF (*Internet Engineering Task Force*) e 1998 eo ar c'hod-se, pan embannas ar protokol HTCPCP (*Hyper Text Coffee Pot Control Protocol*). Ar c'hod 418 a ranke bout kaset gant ur servijer pot-te pa c'houlenned digantañ fardañ kafe. E 2014 e voe adembannet ar pesk-Ebrel-se, ha lod lec'hiennoù Web a gas ur respont 418 pa nac'hont ober war-dro ur goulenn, evel goulennoù a zo bet ganet ent-emgefreek.
;`421` – *Misdirected Request* • Goulenn dehentet a-dreuz
:Dehentet eo bet argoulenn war-du ur servijer n'eo ket gouest da gas ur respont. An arval a c'hall adkas ar goulenn dre ur gevreadenn disheñvel.
;`422` – *Unprocessable Content* • Endalc'h na c'heller ker embregiñ
:Reizh e oa ereadurezh ar goulenn ha komprenet eo bet, met n'eus ket bet tu da ober war e dro. Adkas an hevelep goulenn hep e gemmañ a zegaso an hevelep respont.
;`423` – *Locked* • Morailhet
:Morailhet eo al loaz a c'houlenner, ne c'heller ket e dizhout.
;`424` – *Failed Dependency* • Dalc'h c'hwitet
:C'hwitet eo bet ar goulenn rak e dalc'h ur goulenn all edo, ha c'hwitet eo bet ar goulenn-hont.
;`425` – *Too Early* • Re abred
:Nac'h a ra ar servijer ober war-dro ar goulenn, gant aon ma vefe adkaset meur a wech e-keit-se, evit abegoù surentez : na c'hortoz ma vefe klok ar protokol a c'hall bezañ un argadenn.
;`426` – *Upgrade Required* • Hizivadenn rekis
:Dave e vefe d'an arval implijout ur protokol all, a zo roet er respont ; da skouer : HTTP/1.1 eo protokol ar goulenn, hag ar servijer a ro HTTP/2.0 da brotokol.
;`428` – *Precondition Required* • Rakamplegad rekis
:Ar servijer a c'houlenn ma vefe ur rakamplegad er goulenn, evit mirout ma vefe dispredet ar servijer e-keit m'emañ o plediñ gant ar goulenn. Da skouer : an arval a gas ur goulenn dre `GET` kent e gemmañ hag e adkas dre `PUT` padal ez eo bet kemmet stad ar servijer e-keit-se.
;`429` – *Too Many Requests* • Re a c'houlennoù
:Re a c'houlennoù zo bet kaset gant an arval en amzer a zo bet merket dezhañ. Ouzhpenn d'ar c'hod-se, ar servijer a c'hall goulenn digant an arval gorrekaat an niver a c'houlennoù en amzer merket, pe lavaret dezhañ pegeit e ranko gortoz a-raok adc'houlenn.
;`431` – *Request Header Fields Too Large* • Maeziennoù re vras en talbenn
:Nac'h a ra ar servijer plediñ gant ar goulenn rak re vras eo unan da nebeutañ eus ar maeziennoù a zo en talbenn.
;`451` – *Unavailable For Legal Reasons* •  Dizimplijadus evit abegoù lezennel
:Perc'henn ar servijer en deus bet an urzh lezennel da nac'hañ ar moned d'ul loaz *L* pe d'un hollad loazioù m'eo *L* un tamm anezhañ. Da skouer, *L* a c'hall bout ul lec'hienn Web a zo bet berzet dre lezenn.

## 5''nn'' Fazi e tu ar servijer
Ur fazi zo bet a-berzh ar servijer, a oar ez eus bet ur fazi hogen a zo dic'houest d'e reizhañ ; ne c'hall ket kas ar goulenn da bennvat. Ditouroù a rankfe bout a-gevret gant ur respont 5*nn* : petra eo ar fazi, ha dibad pe badus e vo ar blegenn. An arval a rankfe o diskwel war skramm an implijer. Forzh pe zoare goulenn HTTP a c'hall resevout kodoù-statud 5*nn*.
;`500` – *Internal Server Error* • Fazi e diabarzh ar servijer
:Hollek eo ar c'hod-se, a vez kaset pa 'z eus c'hoarvezet ur fazi bennak ha n'eus kod-statud all ebet a zere.
;`501` – *Not Implemented* • Ezvezant
:Ar servijer ne anavez ket doare ar goulenn, pe n'eo ket gouest da vastañ d'an ezhomm. Peurliesañ e talvez ivez ar c'hod 501 da lavaret e vo dizale ur servij nevez, evel un API (*Application Programming Interface*, eleze ul liamm etre urzhiataerioù pe veziantoù).
;`502` – *Bad Gateway* • Treuzell fall
:Da dreuzell pe da broxy e talveze ar servijer, hag ur respont diwiriek en deus bet digant ar servijer a zo pelloc'h war an hent d'al loaz a zo goulennet.
;`503` – *Service Unavailable* • Servij dizimplijadus
:Ne c'hall ket ar servijer ober war-dro ar goulenn rak dreistkarget eo, pe lakaet eo bet e beilh en abeg d'un trevell trezalc'h. Dibad e vez ar stad-se peurliesañ.
;`504` – *Gateway Timeout* • Treuzell e-maez ar gedvezh
:Da dreuzell pe da broxy e talveze ar servijer, ha n'en deus ket resevet ur respont e koulz digant ar servijer a zo pelloc'h war an hent d'al loaz a zo goulennet.
;`505` – *HTTP Version Not Supported* • Kentel HTTP diembreget
:Ne c'hall ket ar servijer ober gant ar gentel HTTP a zo implijet er goulenn, da skouer HTTP/3.0 (2022) padal ne labour ar servijer nemet gant ar protokoloù HTTP/2.0 (2015) pe HTTP/1.1 (1996).
;`506` – *Variant Also Negotiates* • Adstumm o kevraouiñ ivez
:Meur a adstumm zo d'al loaz a zo goulennet, ha mont dizehan ag adstumm da adstumm hep diuz unan a ra ar servijer. Pa vez renet ar c'hevraouiñ gant ar servijer e c'hoarvez kement-se, ne ra ket pa vez renet ar c'hevraouiñ gant an arval : hennezh a c'houlenn listenn an adstummoù hag he c'hinnig d'an implijer ; an implijer a zibab unan ; an arval a c'houlenn an adstumm-se digant ar servijer  ; ar servijer a gas an adstumm d'an arval hag an arval e ziskwel d'an implijer.
;`507` – *Insufficient Storage* • Memor skort
:Dic'houest eo ar servijer da virout skeudenn al loaz a zo goulennet, dre ziouer a lec'h en e vemor.
;`508` – *Loop Detected* • Rodell dinoet
:Ur rodell zidermen, da lavaret eo un eskemm dizehan etre servijerioù, zo bet dinoet gant ar servijer endra edo o plediñ gant ar goulenn.
;`510` – *Not Extended* • Nann astennet
:An arval en deus gourc'hemennet-groñs e talbenn ar goulenn ma vefe implijet un astenn HTTP ha n'emañ ket er servijer.
;`511` – *Network Authentication Required* • Rekis eo kevreañ ouzh ar rouedad
:Ret eo d'an arval kevreañ ouzh ar rouedad evit e implijout. Gant proksioù e vez ganet ar c'hod-se mard int karget da verañ ar moned d'ur rouedad. Lod perc'henned war ur rouedad a c'hall goulenn kevreañ goude en devout asantet da ziferadennoù, en un aerborzh pe un ostaleri, da skouer.

## Liammoù diavaez

* 
* 
* 

## Notennoù