Use components to parse User Agent