Cum de a deschide un URL lung în browser

Cum de a deschide un URL lung într-un browser?

ShellExecute atunci când încercați să deschideți lungi bucăți URL-l la 2.083 de caractere.
O lungime nevoie de pornire rapidă URL-ul în 4Q.

vă arată cum să lucreze în jurul problemei prin faptul că nu utilizează fișiere externe (cum ar fi de la o descărcare HTML pregătită cu o redirecționare)

„Război și Pace“, într-o versiune prescurtată.


> „Război și Pace“, am fost în stare să citească. )

Ei bine, există URL-și da. În cazul în care identificarea codului hash, utilizatorul este inserat în adresa URL.

Deci, există speculații?

> Deci, există speculații?
făcut în mod diferit. deoarece pe datele în parametrii solicitare GET, există o limită pe lungime. IMHO, pentru că Îmi amintesc vag, cum ar fi citit acolo. asta e ceea ce se întâmplă atunci când introduceți această adresă URL patru kilobyte în browser?
și există restricții privind dimensiunea șirului executat. (Fac ceva de genul caseta de litere în programul de e-mail curent, astfel încât, de asemenea, la un moment dat a încetat să transmită toate, dimensiunea corpului format a depășit granița. Imapy a trebuit să meargă la doar din cauza asta. Și nimic)


> Asta se întâmplă atunci când introduceți această adresă URL de patru kilobyte
> În browser-ul?

Aici este necesar să se verifice în primul rând, în caz contrar nu are sens să se miște mai departe.

Prin COM-interfata Explorer se poate face, dar cum se face în mod normal, pentru a deschide în browser-ul implicit de sistem?

Excelent, atunci puteți trece la a doua opțiune - utilizarea CreateProcess + FindExecutable

> Când URL-ul este introdus în codul hash care identifică utilizatorul

Ei bine, acest lucru este cât de mult timp codul hash?
și de ce se face printr-o GET, și nu prin POST?


> Și de ce se face printr-o GET, și nu prin POST?

Cum postați-parametri ce treci pagina. Eu, în principiu, pot să înțeleg URL-ul lung. Ei bine acolo, PAGEID, userId, chiar și un fel de rahat.
Dar lungimea URL-ul la 500 de caractere - care e un fel de perversiune. Există cel puțin o duzină de GUID-uri ghiftui posibil.

Ca solicitarea nu poate fi mai mică de 2 KO

> Cum vă post-parametri ai treci pagina?

și cum să transfere orice utilizator și parola? nu prin poștă

> Nu prin poștă

că este, nu prin GET)
în general, informațiile care prezintă o anumită valoare (coduri, parole) în text clar prin URL-ul este mai bine să nu transfere


> Și cum să transfere orice utilizator și parola? nu prin poștă

Ei bine, nu este o pagină peredaosh chestiune și server.
O pagină, după cum am înțeles, unele informații pot fi transferate numai:
1. În conținutul responsa pe http-reqwest
2. Sub formă de cookie-uri.
3. În șirul URL.

Și astfel, în ceea ce privește CGI sau FastCGI, GET - este că se folosește variabile de mediu, POST - ceva care a fost STDIN chestii.

Corectați-mă dacă greșesc.

> Nu pagina peredaosh și serverul

asa. Acum, eu nu înțeleg.
Care este diferența? Pagina generata pe server. Aceasta înseamnă „pentru a transfera pagina“ = „pentru a transfera server“
Corectați-mă dacă greșesc


> mijloace „pentru a transfera pagina“ = „pentru a transfera server“

Asta în măsura în care am înțeles, acest lucru nu este adevărat. Mai precis - nu neapărat. În cazul în care există un post-procesare a datelor de pe pagina după primirea conținutului.
exemplu:

Un chchort, HTML-tag-uri du-te și apoi să nu pierdeți. Ei bine.
Pe scurt, în interiorul corpului există doar un singur div cu id = „mydiv“
Apoi, capul pentru a adăuga următorul script:


Funcția GetLocationParam (nume) # XA0; var params = window.location.search.substr (1) .split ( "");
# XA0, pentru (i = 0; i # XA0; # XA0; if (param [0] == nume) # XA0; # XA0; # XA0; întoarcere param [1];
# XA0; # XA0;>
# XA0;> # XA0;
# XA0; return "";
>

onload funcționa () # XA0; var MyParam = GetLocationParam ( "id");
# XA0; var el = document.getElementById ( "mydiv");
# XA0; dacă (el) # XA0; # XA0; el.innerHTML = MyParam;
# XA0;>
>

Și acum suna pagina dop.parametrom? Id = siahfbiashbfdihb

Și acești parametri în adresa URL, puteți trece mult.


> GET - este că se folosește variabile de mediu

Mai precis, prin variabila de mediu „QUERY_STRING“

așa că este în script-ul dvs. de client.
Dacă vrei să spui că „treci pagina“, atunci da

De fapt, atunci când transmiterea de date care nu se încadrează în URL-ul (sau care nu sunt de dorit pentru a împinge), există 2 moduri:
1. AJAX-cerere la unele http-handler sau un serviciu Web care returnează ceva care poate fi aplicat imediat documentul. Prin script client.
2. POST-trimite solicitarea prin intermediul AJAX sau din nou. Serverul poate opțional utilizator otredirektit la pagina dorită după primirea și procesarea cererii (în cazul de conectare, de exemplu).


> De fapt, transferul de date care nu se încadrează în
> URL (sau care nu sunt de dorit pentru a împinge), există 2 moduri:
>
> 1. AJAX-cerere la unele http-handler sau un serviciu web,
> # XA0, care returnează ceva care poate fi aplicat imediat
> Document. Prin script client.
> 2. POST-trimite solicitarea prin intermediul AJAX sau, din nou. server
> Utilizatorii pot otredirektit dacă este necesar
> Pagina dorită după primirea și procesarea cererii (ca
> În cazul conectare, de exemplu).
>

În acest caz, avem 2 Boys site-ul:
1. fereastra Conectare-Pwd
2. Pagina principală.

modul în care a format numai un set de chei, are sens numai în cazul în care utilizatorul nu părăsește pagina principală. Ceva de genul utilizator de comutație rapidă.

Și că întreaga pagină formă markup pură - puteți trage. Pe de altă parte, pe server sunt „șabloane“ pagini care sunt deja definite stiluri, a făcut unele aspect preliminar, etc.

Aproximativ vorbind, este la fel ca esti un formular modal este generat în întregime din tehnica, ce tip:

Procedura TForm1.InvokeSomeModalForm (Some_Params);
var
# XA0; frm. TForm;
# XA0; memo. TMemo;
# XA0; btnOK, btnCancel. TButton;

începe
# XA0; frm: = TForm.Create (zero);
# XA0; încercați
# XA0; # XA0; frm.SetBounds (.);

# XA0; # XA0; memo: = TMemo.Create (frm);
# XA0; # XA0; memo.Parent: = frm;
# XA0; # XA0; memo.SetBounds (.);
# XA0; # XA0; memo.Lines.Assign (Some_Params.MemoData);
# XA0; # XA0;
# XA0; # XA0; btnOK: = TButtonCreate (frm);

# XA0; # XA0; frm.ShowModal;
# XA0; # XA0; dacă # XA0; frm.ModalResult =.

Poti face asta? Da cu ușurință. Numai în fiecare formă, astfel descrisă - hemoragic.

Aceasta este, IMHO, același gunoi cu deplină generație aspectul paginii pe server.

> Vă arată cum să lucreze în jurul problemei prin faptul că nu utilizează fișiere externe

și dacă creați un fișier * .url temporar și hrana pentru animale-l la browser-ul?

> Și că întreaga pagină formă pură de marcare
> - puteți trage. Pe de altă parte, sunt pe server
> pagini de „Format“, care sunt deja definite stiluri

deci care e problema pe server să-l configurați?
Aproximativ vorbind, există un model

% ADMIN_BUTTONS%
% USER_BUTTONS%
.
pentru% ADMIN_BUTTONS conventionale nick% se înlocuiește cu o linie goală. Asta este, dacă unele limbaj de scripting cum ar fi PHP.
ASPx este rezolvată în general prin setarea de control vizibil


> Și că întreaga pagină formă pură de marcare
Te referi la toate paginile de cod înlănțui tanga? Acest lucru a fost mult timp nimeni altcineva nu o face. Pentru a face acest lucru o grămadă de motoare scrise. De exemplu, uite asp.net.


> De exemplu, uite asp.net.

În conformitate cu termenii sarcina mea, am doar Apach + cgi / FastCGI


> Apropo, dar Microsoft a spus că, în conformitate cu php rotiri iisom
> Mai luminos decât Apache.

Nu am nici php. apache Naked + cgi / FastCGI.


> Este posibil să se gândească în direcția de XSL Transformations, găsiți
> Enzhin corespunzătoare.

Și eu, înlocuind YUI.TreeView matrice data1.treedata și YUI.ContextMenu matrice Data1.menudata obține copac gata cu atașat la acesta din meniul contextual. Și datele și acțiunile din meniul - în funcție de drepturile de utilizare.
Și eu nafig nu trebuie să deranjez, care este acum în proiectarea paginii. Am nevoie de un singur div cu un anumit id-ul, care este un meniu arbore va fi extins.

Memorie: 0.83 MB
Timpul: 0,048 c

articole similare