!在网址

时间:2018-01-04 12:30:03

标签: url urlencode url-encoding

所以这是一个奇怪的事情要找出来。最近,我正在阅读一些有角度的文档并遇到了 - tutorial。在第9步中提到的example中,我对查看网址时有点怀疑。

正如您所看到的,在网址中有这个!在#之后标记。这是什么 !用于URL的标记?

我知道在网址中使用#mark,但不确定使用!标记在一个。在这种情况下,谷歌也没有多大帮助。

稍微使用网址,我开始知道 -

也许不是一个大问题,但我想知道它的含义和用法!标记

1 个答案:

答案 0 :(得分:1)

这被称为“hashbang”。它是一种流行的,但现在已经失去信誉的构建URL的方式。

浏览器中未向网络服务器发送的string _commandParameter = @"whoami"; try { var process = new Process { StartInfo = { CreateNoWindow = true, UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardInput = true, RedirectStandardError = true, Verb = "runas", FileName = @"C:\Windows\System32\cmd.exe", Domain = "dir", UserName = userID, Password = GetSecureString(userpassword), Arguments = _commandParameter } }; process.Start(); string readToEndOutput = process.StandardOutput.ReadToEnd(); string readToEndError = process.StandardError.ReadToEnd(); process.WaitForExit(); } catch (Exception ex) { log.Info("error as StackTrace Exception in Input ActionResult -" + ex.StackTrace.ToString()); log.Info("error as Message Exception in Input ActionResult -" + ex.Message.ToString()); } public static SecureString GetSecureString(string str) { SecureString result = new SecureString(); try { if (string.IsNullOrWhiteSpace(str)) return null; else { foreach (char c in str.ToCharArray()) result.AppendChar(c); return result; } } catch (Exception ex) { log.Info("Cannot create password-" + ex.StackTrace.ToString()); } return result; } 之后的所有内容。页面加载后,页面上运行的JavaScript可以请求let handler = { set(target, propertyKey, value, receiver) { console.log(`set ${propertyKey} to ${value}`) return Reflect.set(target, propertyKey, value, receiver); } }; const p = new Proxy([], handler); p.push('a') 之后显示的内容。然后,浏览器将该数据发送到服务器,并检索页面的新部分。

在您的示例中,浏览器加载页面true - 在该页面上运行的脚本会查看false并使用该数据执行某些操作。

正如您可能怀疑的那样 - 这是一种运行网站的缓慢,脆弱和笨拙的方式。