(yaws-1.90 altında ve) cevabı aşağıda varsayılan olarak, Şimdi
çalışır herhangi başlık
[{header,"Server: MyOther Server Name"}]
olarak belirtilen, gibi uygulamak ve sunucu başlık değerinden önce adı ve sürümü olarak etiketler yaws bu:
Server: Yaws 1.91, MyOther Server Name
. Şimdi
Date Thu, 17 Nov 2011 07:59:17 GMT
Content-Length 22
Content-Type text/html
Server Yaws 1.91, ASP.NET Server
:
out(_A)->
[{header,"Server: ASP.NET Server"},
{html,"<p>I love klacke and yaws ! </p>"}].
tarayıcınızı kontrol etme aşağıdaki gibi Kundakçı belirttiğiniz Tepki başlıklarını görebilirsiniz kullanarak: En out/1
işlevinde böyle bir başlık değeri, sunucu ile sona oluşur:
src
yaws'da, yaws.erl
adı verilen bir modül vardır. Bu modülde, çizgi etrafında kontrol edin: 1332
, böyle bir işlevi bulacaksınız:
make_server_header() ->
HasDav = ?sc_has_dav(get(sc)),
["Server: ", (get(gc))#gconf.yaws, "\r\n" |
if HasDav == true ->
["DAV: 1\r\n"];
true ->
[]
end].
Bu sunucu başlığında belirtilen değer üstüne yaws sürümü ve sunucu adını ekler kod parçasıdır. Biz bunu değiştirmek ve satırlar açıklama ve şuna benzer bir empty list [ ]
veya empty string ""
dönelim gerekir:
make_server_header() ->
%%HasDav = ?sc_has_dav(get(sc)),
%%["Server: ", (get(gc))#gconf.yaws, "\r\n" |
%% if HasDav == true ->
%% ["DAV: 1\r\n"];
%% true ->
%% []
%% end].
[]. %% force it to just return empty
Son adım
Şimdi bu modülü yeniden derlemek ve mevcut yaws değiştirmeniz gerekiyor .beam dosyasını YAWS-{VSN}/ebin
numaralı dosyada, bu yeni kaynağı derledikten sonra elde ettiğimiz yeni .beam dosyası ile. Sonra sanal makineye tekrar yükleyin. Umarım bu son adımda yolunuzu bulabilirsin. Bu çekerek bir yolu Sonra erlang kabuğu
1> cd("PATH/TO/YAWS/src").
PATH/TO/YAWS/src
çalıştıran yaws, geçerli çalışma dizini değiştirerek, biz
2> c(yaws).
{ok,yaws}
yukarıda da değindiğimiz üzere yaws.erl kaynağını değiştirdikten sonra (yaws kabuk hala değil) bu yürütmek
Şimdi oluşturulan yaws.beam dosyasını src'den ebin'e taşıyın. (Yaws yaws daha yeni sürümleri için
3> l(yaws).
:
$ mv PATH/TO/YAWS/src/yaws.beam PATH/TO/YAWS/ebin/
Yani src gelen biriyle Ebin varolan yaws.beam dosyasını değiştirmek/Üzerine Yaz yaws çalışıyorsa, onun kabuğunda girerek bu kodu yeniden -1,91 ve üzeri)
Eğer sadece
yaws.conf
dosyaya ekleyecek bir parametre
server_signature = "MY SERVER SIGNATURE"
ve böylece başlıkları ile gelecek yoktur
Server: MY SERVER SIGNATURE
Teşekkürler, ama kendim eklemek zorundayım ** "Sunucu:" ** üstbilgisini her zaman önemsemiyorum – user1051086
OH evet, bunun maliyeti. Ancak, tüm kodları yorumlamak yerine istediğiniz başlığı istediğiniz yere koymak için yaws.erl işlevindeki herhangi bir yeniden düzenlemeyi yapabilirsiniz. Aslında işlevden '[]' döndürmek yerine, kodunuzu her zaman kodunuza koymanıza gerek kalmadan başlığınızı döndürmesine izin verin. –