HTTP_ACCEPT

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Ervaren PHP Software Developer

Functieomschrijving Voor een toffe opdrachtgever in regio Breda zijn wij op zoek naar een medior PHP Developer met affiniteit met Laravel. Je komt te werken bij een uitdagende opdrachtgever met supergave klanten in een specifieke branche. Als PHP ontwikkelaar ben je samen met een vooruitstrevende team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het vernieuwen van informatiesystemen voor een specifieke branche. Je ondersteunt complexe uitdagingen van klanten. Vervolgens breng je hun wensen in kaart en vertaalt deze door naar maatwerk software. Affiniteit met Laravel is een pré. Om de klanten zo goed mogelijk te ondersteunen en snel in

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Java Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

.NET developer

Functie Als developer heb jij de keuze om aan te sluiten bij het team (13 developers) die op locatie projectmatig bij klanten werkt. Wanneer jij liever intern bij de werkgever werkt is er ook alle ruimte voor jou in het interne team (8 developers) van dit bedrijf. Je werkt samen aan verschillende projecten bij of voor de klant. Het project wordt aangeleverd door sales aan de project manager. Die maakt samen met de Resourcer een planning en op basis daarvan wordt uit het development team een “projectgroep” opgesteld. Hoeveel en welke projecten jij wilt oppakken gebeurt geheel in samenspraak met

Bekijk vacature »

Full Stack C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Front-end Developer

Onze klant is sinds 2 jaar actief als adviseur en bemiddelaar in de verzekeringsmarkt. Sindsdien proberen zij deze slapende markt flink wakker te schudden. Dit willen zij doen door het bouwen van slimme vergelijkers op hun eigen website en die van partners. Het bedrijf wil continu voorop lopen, zodat consumenten eenvoudig de verzekeringen kunnen vinden die het beste bij ze past. Functieomschrijving Als Front-end Developer werk je aan vergelijkingsmodules die consumenten dagelijks gebruiken bij het vergelijken en afsluiten van verzekeringen. Je vindt het leuk om samen te werken met de product owner, bestaande modules te verbeteren en nieuwe vergelijkers "from

Bekijk vacature »
Ozzie PHP

Ozzie PHP

17/04/2014 10:12:50
Quote Anchor link
Hallo,

Een vraagje... maken jullie wel eens gebruik van $_SERVER['HTTP_ACCEPT']?

In mijn browser levert dit "text/html, application/xhtml+xml, */*" op, maar wat moet ik daar mee? Heb je dit ergens voor nodig?
 
PHP hulp

PHP hulp

19/04/2024 01:44:35
 
Ivo P

Ivo P

17/04/2014 10:53:03
Quote Anchor link
Dat kun je in de settings aanpassen.

Maar heb ik vooral voor testdoeleinden gedaan.

Bijvoorbeeld een webservice (api) kan data terugleveren in een formaat naar keuze.

Met HTTP_ACCEPT zegt de client (browser bij de test, maar kan ook php via curl zijn uiteraard) dat hij data begrijpt in html, json en xml met een voorkeur in die volgorde.

Laten we zeggen dan de api een array met namen terug wil geven.
html kan de api niet aan. Json wel, dus komt de data terug via
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
header('Content-Type: application/json');
echo json_encode($aNamen);
?>


Komt een andere client later met de melding dat hij xml wil hebben:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
header('Content-Type: text/xml');
echo $xml->toString();
?>

Zou ook kunnen met een tekst in pdf of Word
of met een plaatje als jpg of gif etc.

Kortom: je geeft de client de mogelijkheid om data in een gewenst formaat op te vragen.

Toevoeging op 17/04/2014 10:54:41:

en ja: dat kun je ook in de url verpakken, maar net zo als je de GET/POST/PUT headers kunt gebruiken om aan te geven wat je wilt doen, en de server met http-headers status en foutmeldingen (404 not found, 400 bad request) kan geven,
zo kun je ook de accept gebruiken.
 
Ozzie PHP

Ozzie PHP

17/04/2014 11:02:28
Quote Anchor link
Dankjewel voor je reactie Ivo. Maar bij "normaal gebruik" van een website, heb je het dan ook nodig?

Wat ik bedoel is... als ik plaatjes op mijn site heb staan in jpg formaat, dan ga ik in de praktijk niet overal nog eens een gif van maken, voor het geval een browser geen jpg accepteert. Of, ik ga niet alle PDF's ook in Word aanbieden omdat sommige browsers geen pdf aankunnen enz.

Ik begrijp dat het voor een webapi nuttig kan zijn, maar is het bij "normaal" internetgebruik ook van toepassing?
 
Ward van der Put
Moderator

Ward van der Put

17/04/2014 11:13:55
Quote Anchor link
In theorie kun je een header zoals application/x-shockwave-flash ook gebruiken om content die plug-ins vereist wel/niet te laden. Dit is een van de vormen van content negotiation (net zoals taal-headers). Een van mijn exemplaren van Internet Explorer verzendt bijvoorbeeld:

application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

In de praktijk levert dat weinig of niets op: lang niet alle browsers die het MIME-type application/x-shockwave-flash ondersteunen verzenden ook de Accept-header application/x-shockwave-flash. Bovendien accepteren vrijwel alle browsers */*, dus alles. En als een browser toch alles accepteert, verliest de header zijn praktisch nut.
 
Ozzie PHP

Ozzie PHP

17/04/2014 11:18:25
Quote Anchor link
Allright, thanks Ward. Dus wat jij eigenlijk zegt, is dat je deze variabele in de prakijk niet nodig hebt? Of begrijp ik je verkeerd?
 
Ivo P

Ivo P

17/04/2014 11:20:01
Quote Anchor link
hangt van je praktijk af :-)

Als jouw praktijk bouwen van publieke websites is, dan zul je dat niet veel nodig hebben.
Bouw je api's, webservices etc dan is het dagelijkse kost.
 
Ozzie PHP

Ozzie PHP

17/04/2014 11:36:56
Quote Anchor link
Hmmm, oke...

En in jouw voorbeeldje ziet de "ontvangende partij" dus aan de header wat voor informatie er binnenkomt?

Maar hetzelfde effect zou je dus ook kunnen bereiken door de ontvangende partij specifiek om bijv. XML te laten vragen door dat als een parameter mee te geven in de URL? www.somesite.com/grabcontent?type=xml

Begrijp ik het zo goed?
 
Dos Moonen

Dos Moonen

17/04/2014 11:48:53
Quote Anchor link
Voor browsers? Nee.

Browsers zeggen altijd "ik heb het liefst HTML.", misschien gevolgd door "Als je dat niet voor me hebt, doe dan maar XHTML.", en daarna eigenlijk altijd "Als je dat niet hebt, kies jij dan maar".

De accept header wordt altijd verstuurt, met javascript kan je een AJAX request sturen waarvan je dan zelf de waarde voor de accept header mee kan geven. Maar als je op drie verschillende pagina's naar http://example.com/magic linkt en de ene keer xml, de andere keer json en nog een andere keer excel verwacht terug te krijgen, dan doe je iets goed fout.

Elke browser heeft, voor zover ik weet, */* in zijn Accept header staan, wat betekend dat als je iets maakt voor browsers je alles terug kan geven wat je wilt en de Accept header niet hoeft te parsen om zeker te weten dat de client (browser) ZEGT ermee overweg te kunnen.

Hoe besluit een browser naar blabla?format=xml te gaan? Hoogst waarschijnlijk heeft de server die locatie aangeleverd in de body van een andere request. Wat dus betekend dat blabla?format=xml oorsprokelijk bij de server vandaan komt, terwijl de Accept header die de client verstuur ALTIJD bij de client vandaan komt.
Gewijzigd op 17/04/2014 11:51:28 door Dos Moonen
 
Ward van der Put
Moderator

Ward van der Put

17/04/2014 11:54:18
Quote Anchor link
Ivo P op 17/04/2014 11:20:01:
hangt van je praktijk af :-)

+1 :-)
Ozzie PHP op 17/04/2014 11:18:25:
Allright, thanks Ward. Dus wat jij eigenlijk zegt, is dat je deze variabele in de prakijk niet nodig hebt? Of begrijp ik je verkeerd?

Als de meeste browsers met */* melden dat ze alles accepteren, valt er verder weinig te onderhandelen. De header zegt dan niets anders meer dan: stuur maar op wat je hebt.

Technisch heeft de HTTP-header zeker bestaansrecht, maar als browser-bouwers massaal */* gebruiken, blijft er van content negotiation bitter weinig over. Ik vind dat eigenlijk een foute implementatie van HTTP1/1, maar bij Google, Microsoft, Apple & Co werken kennelijk slimmere programmeurs.

Voor API's kun je inderdaad wel een uitzondering maken, goed punt van Ivo. Maar zelfs daarbij zie je dat in de praktijk vaak een andere oplossing wordt verkozen: XML aanbieden via een andere URL dan JSON bijvoorbeeld.

Aangezien je een framework bouwt, zou ik de header dus niet resoluut naar de prullenbak dirigeren, maar er zeker ook geen hoofdcomponent van maken voor alle HTTP-verkeer.
 
Ozzie PHP

Ozzie PHP

17/04/2014 11:58:41
Quote Anchor link
Oké. Dan doe ik er vooralsnog niks mee.

Het lijkt me inderdaad handiger om, mocht dat ooit nodig zijn, gericht content aan te bieden:
www.site.com/content?type=xml
www.site.com/content?type=json
enz.

En voor andere vormen van content, denk bijv. aan flash, maar gewoon er vanuit gaan dat dat wordt ondersteund?
 
Ward van der Put
Moderator

Ward van der Put

17/04/2014 12:03:53
Quote Anchor link
Nee, liever helemaal geen Flash gebruiken als het ook anders kan. Liever ook geen PDF aanbieden als het gewoon in HTML kan.
 
Ozzie PHP

Ozzie PHP

17/04/2014 12:10:19
Quote Anchor link
>> Nee, liever helemaal geen Flash gebruiken als het ook anders kan.

Ben ik met je eens... als het niet hoeft dan liever niet.

Maar goed... lang verhaal kort... die HTTP_ACCEPT heb ik dus voor normaal websitegebruik niet nodig? Gewoon aanbieden wat je hebt, en het gros van de browsers zal er mee overweg kunnen, en een enkele browser een enkele keer misschien niet. Vat ik het zo op de juiste manier samen?
 
Ward van der Put
Moderator

Ward van der Put

17/04/2014 12:37:10
Quote Anchor link
Ja, correct samengevat.
 
Ozzie PHP

Ozzie PHP

17/04/2014 12:39:29
Quote Anchor link
Okidoki. Muchas gracias :)
 
Dos Moonen

Dos Moonen

17/04/2014 13:44:19
Quote Anchor link
En wat doe je als iemand naar www.example.com/content gaat? De query string gebruiken om van content type te veranderen is niet echt net naar mijn idee. /content.xml, /content.json is netter.

PS. gebruik aub www.example.com als dummy links, site.com is een bestaande site. "You may use this domain in examples without prior coordination or asking for permission." - example.com.
site.com vind het mogelijk niet leuk dat je search engines naar niet bestaande pagina's stuurt.
Gewijzigd op 17/04/2014 13:47:05 door Dos Moonen
 
Ozzie PHP

Ozzie PHP

17/04/2014 13:49:16
Quote Anchor link
>> En wat doe je als iemand naar www.example.com/content gaan? De query string gebruiken om van content type te veranderen is niet echt net naar mijn idee. /content.xml, /content.json is netter.

Wat bedoel je precies met je vraag? Die query string kan netter, is dat wat je bedoelt?
Ik kan ook dit doen: www.example.com/content/xml
Of bedoel je iets anders en begrijp ik je verkeerd?

>> site.com vind het mogelijk niet leuk dat je search engines naar niet bestaande pagina's stuurt.

Tja, beetje het risico van zo'n naam :)
 
Ward van der Put
Moderator

Ward van der Put

17/04/2014 13:49:40
Quote Anchor link
Voor tests en voorbeelden hebben we inderdaad RFC 2606.
 
Dos Moonen

Dos Moonen

17/04/2014 14:03:14
Quote Anchor link
Ozzie PHP op 17/04/2014 13:49:16:
Tja, beetje het risico van zo'n naam :)

Wat aardig van je.

Ik bedoelde, wat voor versie ga je opleveren als iemand naar example.com/content?geen-format-om-te-bepalen-wat-voor-content-terug-gestuurt-moet-worden gaat?
Geef je de HTML versie? de XML versie? de Json versie? een 404 status code met HTML content?

URL staat voor Uniform Resource Locator. Een resource heeft maar één soort content-type. Als jij op basis van de query string de content-type gaat veranderd is dat dus niet heel net. Als jij op basis van de query string bepaalde content weg laat filteren gebruik je de query string precies waarvoor het bedoeld is.

example.com/content hoort altijd de zelfde soort content te leveren, niet de ene keer XML en de andere keer HTML. Dat hoor je niet op te lossen met de query string aangezien entensions beter geschikt zijn: Je verwijst naar een andere resource, met grotendeels de zelfde naam.
example.com/content/xml zou ook kunnen, maar een OS zou het niet herkennen als een XML bestand. Wat mogelijk irritaties op kan leveren.
Gewijzigd op 17/04/2014 14:05:51 door Dos Moonen
 
Ozzie PHP

Ozzie PHP

17/04/2014 14:06:46
Quote Anchor link
>> example.com/content/xml zou ook kunnen, maar een OS zou het niet herkennen als een XML bestand. Wat mogelijk irritaties op kan leveren.

Wat bedoel je hiermee? Waarom zou een OS /content wel herkennen en /content/xml niet?
 
Dos Moonen

Dos Moonen

17/04/2014 15:25:44
Quote Anchor link
Ik had het over /content.xml vs /content/xml...

Het is een erg klein puntje. Browsers zijn slim genoeg om zelf een extensie toe te voegen wanneer ze iets opslaan.
Maar Command Line tools als wget en curl doen zoiets niet voor zover ik weet. Dus dan zou je een bestand genaamd "xml" in de map "content" en zal je OS het proberen te openen met het programma dat is ingesteld om bestanden zonder extensie te openen.

Ik ben nu aardig "Technisch gezien zou ... netter zijn" bezig.
 
Ozzie PHP

Ozzie PHP

17/04/2014 15:30:55
Quote Anchor link
Ah oke... ik snap nu ook wat je bedoelt. Ik begreep je in 1e instantie niet. Da zou de oplossing dus zoiets zijn:

www.example.com/content/xml/foo.xml

Dat bedoel je waarschijnlijk.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.