What does "KHTML, like Gecko" mean in a user-agent string? - user-agent

I understand that KHTML is the HTML Layout Engine used, but what significance does the "like Gecko" part have? Why is it there?
Is there a historical reason similar to the "Mozilla" part of the User Agent String?

Konqueror began to pretend to be "like Gecko" to get the good pages,
and called itself Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko).
For more information, read:
Andersen, Aaron (September 3, 2008) -
History of the browser user-agent string - WebAIM

Related

How to get Microsoft Edge User-Agent from Local file?

i would like to get the User-Agent for Microsoft Edge from a local file in Windows 10.
(In other words, i want to get the User-Agent of MSEDGE currently installed on my PC without any outbound connection.)
Can you tell me which file it is contained in?
i don't care what method you use, as long as you can get an exact match to the actual User-Agent.
i am going to use Perl to get it.
(Just tell me which file contains the User-Agent or how it is generated from a local file.)
my browser User-Agent was in the following format
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/zzz.z.zzzz.zzz Safari/537.36 Edg/XXX.X.XXXX.XX
(Win64; the x64 part also differs depending on the environment.)
The XXX.X.XXXX.XX part can be obtained from the following folder name.
%ProgramFiles(x86)%\Microsoft\Edge\Application\XXX.X.XXXX.XX
(There may be multiple folders, but here i choose the one with the highest number.)
The zzz.z.zzzz.zzz part appears immediately after the string explicitly-allowed-ports inside the following file.
%ProgramFiles(x86)%\Microsoft\Edge\Application\XXX.X.XXXX.XX\msedge.dll
by merging these, i decided to make it a UserAgent string.
i think msedge.dll is not so efficient because it is huge, but i achieved my goal tentatively.
if you have a better way, please answer/comment anytime. thanks.

What does the MajorOperatingSystemVersion number mean in PE Optional Headers? [duplicate]

recently I stumbled upon a strange phenomenon.
I am building a dumper for PE-files, reading along the section header and "optional" section header quite well. Now, when I reach the fields "OS major" and "OS minor", I notice a strange value.
[WORD] OS VERSION major :0x00000006
[WORD] OS VERSION minor :0x00000000
Apparently this would mean Windows Vista....
Here: https://learn.microsoft.com/de-de/windows/win32/sysinfo/operating-system-version?redirectedfrom=MSDN
I wrote a simple hello-world 32bit executable, and also tested with 7zip.exe (where it, for some reason, was 4.0 [==Win98]).
Now I am confused.... How can my freshly written PE-file (Visual Studio 2019) NOT be of OS version 10???
Did Microsoft maybe, because of lazyness, not update their Linker correctly???
On that page it says something about a manifest file, but only that it would tell you Windows 8.0 if you'd not manifest your executable (however I am supposed to do that, doesn't really matter for the question tho).
Question: Is there a way to read the correct OS-version from a binary?
As it turned out, it seems like this number is more of a
"Required Minimum Opreating system",
that would explain why it is windows Vista.

How to use Bash to see what URL Firefox / Chrome is pulling?

If Firebug is not working or to grep the pulled URL, how do to it in Bash?
(on Windows, we can use Fiddler. On Mac there seems to be a tool tcpdump)
Sometimes Firebug is not working or if to grep if a certain path or domain URL is being pull,
can that be done on the Mac's Bash?
(such as to check if there is a pull of connect.js, or anything from www.foobar.com)
Wireshark
I don't know of a way to do it with bash, but from your question it sounds like the Wireshark packet sniffer would be a good option. You set it up to capture all packets matching a specific set of criteria (for instance, those going to host www.example.com:80) and you can then inspect the HTTP traffic.
On Mac OS X you may try http://www.charlesproxy.com (which is similar to Fiddler).

Hunchentoot 1.0 returns only empty responses

I'm using an Intel Mac with Mac OS 10.5 and SBCL 1.0.29. I've done pre-1.0 Hunchentoot development here before, so I've had that installed (via asdf-install).
Recently I started a new project, and decided I'd start from Hunchentoot 1.0. I asdf-install'ed Hunchentoot, and it seemed to install 1.0 (and deps) just fine. I can load it in SBCL (via SLIME or Terminal), and I can write code against the new interface, and it compiles great, and everything seems fine.
That is, until I try to access the webpage: I only get empty responses. Firebug reports "200 OK" but Page Info shows size "0 bytes" (text/plain, ISO-8859-1, but I'm guessing those are defaults). So I tried netcat and telnet, and it seems to accept a connection on my port and then immediately disconnect.
Is there a problem with Hunchentoot 1.0 on Mac OS? Or with having 2 Hunchentoot versions asdf-install'ed at the same time? Or something else I'm not thinking of? I'm sure it's probably something obvious but I'm drawing a blank here.
Thanks!
I recently wrote a tutorial on how to write a Lisp webapp that includes a known working set of dependencies (including Hunchentoot, CFFI, etc).
You might want to check out the documentation. Try running the code from the linked github page and see if it works for you - if it doesn't then the problem is in your Lisp Compiler (not your libraries). I'd link directly to github, but I'm new here, and apparently I don't have enough reputation points to post two links in one answer.
Off the top of my heads, I know SBCL has trouble with threads on Mac OS X. I'd consider looking into Clozure Common Lisp - which is very optimized for Macs.

How can I manually determine the CodePage and Locale of the current OS

Is there a way that I manually have a user look up the current Codepage and locale of their windows OS? Is there a registry setting that stores that information?
It would also be useful if the technique worked all the way back to Windows 2000.
The Win32 GetACP() function works back to Windows 2000 to find the ANSI code page.
The GetLocaleInfo() function works also back to Windows 2000. Call it with a Locale parameter of LOCALE_SYSTEM_DEFAULT (or LOCALE_USER_DEFAULT, etc.)
If your question is not how you can get this data programmatically, but instead how a non-programmer can look up this info, then you probably want to post the question on ServerFault which is the right spot for questions like that.

Resources