HTTP_ACCEPT

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

3D BIM Add-on Developer

As a 3D BIM add- on developer at KUBUS, you will develop add-ons (called BCF- Managers) to the leading building information modeling (BIM) programs Revit, Navisworks, Archicad, AutoCAD and Tekla Structures. BCF Managers enable data transfer between BIM software and BIMcollab. You will work on both the front- and the back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

C# .NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Ontwikkelen in Blazor; Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie. Hier ga je werken Binnen deze organisatie werken duizenden mensen binnen allerlei verschillende disciplines. Tevens hebben zij veel specialiteiten in huis, waaronder ook .Net Developers. Ter uitbreiding van een nieuw team en ter ondersteuning van het project zijn ze opzoek naar een nieuwe collega voor het team. Als C#.NET Developer zal jij je

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Back End Developer

As a Back End developer at KUBUS you will be developing the (web) application and services of BIMcollab. You have a focus on the back end of our software, for which we mainly work with C# and .NET. We use a full-stack approach, which means that in addition to the back-end, you will also help with other parts of the code. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact

Bekijk vacature »

Medior PHP developer

Functie Samen met je development team werk je Agile Scrum en met jullie gezamenlijke kennis en ervaring bepalen jullie samen de beste keuze voor techniek en architectuur. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en denkniveau • Je hebt goede kennis en ervaring met PHP • Je bent niet bang voor complexe projecten • Je werkt graag zelfstandig aan applicaties • Je bent altijd nieuwsgierig naar nieuwe

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Frontend Developer

Dit ga je doen Door ontwikkelen van het online platform Deel uitmaken van verschillende ontwikkelteams Meedenken over UI/UX vraagstukken Uitdragen van Front-end binnen de organisatie Hier ga je werken Deze organisatie, gevestigd in de omgeving van Amsterdam, is een grote onderwijs instelling met meerdere vestigingen en een groot aantal studenten. Zo telt deze organisatie +/- 35.000 gebruikers. Bij deze organisatie staat jouw ontwikkeling centraal en is er veel ruimte voor eigen initiatieven. In samenwerking met jouw team ga jij de online omgeving verder ontwikkelen. In de rol van Front end Developer zal jij 50% van jouw tijd werken in het

Bekijk vacature »

Software Programmeur PHP

Functie Ben jij op zoek naar een nieuwe uitdaging als PHP developer en zoek je een leuke platte organisatie? Lees dan snel verder! Voor een opdrachtgever in omgeving Capelle aan den IJssel dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

C# Ontwikkelaar

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

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

28/03/2024 23:48:50
 
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.