HTTP_ACCEPT

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Laravel / PHP developer

Functie omschrijving Wij zijn op zoek naar een Medior PHP / Laravel Developer voor een IT-consultancy in de omgeving van Hoofddorp! Ben jij op zoek naar een leuke nieuwe uitdaging binnen een veelzijdige werkomgeving? Lees dan snel verder! Binnen dit bedrijf werk je in een ontwikkelteam, waarin je zeer betrokken bent en meedenkt over softwareoplossingen. Binnen dit Team hou je je bezig met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken;

Bekijk vacature »

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

Front-end Developer

Functie omschrijving Wij zijn op zoek naar een Front-end Developer! Als Front-end Developer binnen dit softwarebedrijf ga je de frontends voor zowel je eigen interne projecten als die voor klanten opzetten, onderhouden en uitbreiden. Je zet ideeën om naar mooie successen voor de klanten. Dat is in een notendop wat je gaat doen! Wat kun je verwachten? Je werkt aan de doorontwikkeling van bestaande maatwerkapplicaties. Bijvoorbeeld wanneer de klant de applicatie wil uitbreiden met een nieuwe feature; Samen met het team van backenders en desginers zet je nieuwe ideeën van klanten om naar mooie oplossingen; Je werkt met verschillende frameworks.

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

Bekijk vacature »

JAVA Programmeur

Bedrijfsomschrijving Functieomschrijving We zoeken per direct enthousiaste software engineers die ons team komen versterken.We werken in DevOps teams met een sterk gevoel voor verantwoordelijkheid. Er wordt nauw samengewerkt met ons Business analyse team (BAT), met onze uitvoerende medewerkers en met de DevOps teams onderling binnen het domein. Het liefst hebben we veel en vaak interactie met onze interne en externe eindgebruikers om zo de juiste dingen te maken. We werken multidisciplinair in een dynamische omgeving. Achtergrond opdracht De Businesseenheid Examens is verantwoordelijk voor de logistiek van de staatsexamens Voortgezet (speciaal) onderwijs, Nederlands als 2e taal en schoolexamens. In het kader

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

C#.NET ontwikkelaar

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een C#.NET ontwikkelaar. Je bent verantwoordelijk voor het ontwikkelen van dashboards, webapplicaties en apps voor de eigen IOT-oplossingen. Samen met een vooruitstrevend team van ontwikkelaars en engineers krijgen jullie de opdracht om de sensoren in de apparatuur te scannen en vervolgens de data om te zetten in belangrijke inzichten voor de klanten. Taken en verantwoordelijkheden: Heb jij ideeën over nieuwe technieken die jullie kunnen implementeren? Hier wordt echt naar je geluisterd en gekeken of jouw idee daadwerkelijk ingezet kan worden; Je gaat aan de slag met de

Bekijk vacature »

Senior front end developer Digital Agency Amsterda

Functie Wij werken in multidisciplinaire teams aan verschillende projecten, echter blijf je niet gebonden aan 1 team. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg

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

27/04/2024 16:58:55
 
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.