From de6a111b5e7ec37c4965111a580217d0b1fd2736 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:47:40 +0100 Subject: unslug id: move --- files/id/web/http/gambaran/index.html | 173 ----- files/id/web/http/overview/index.html | 173 +++++ .../proxy_auto-configuration_(pac)_file/index.html | 727 --------------------- .../proxy_auto-configuration_pac_file/index.html | 727 +++++++++++++++++++++ 4 files changed, 900 insertions(+), 900 deletions(-) delete mode 100644 files/id/web/http/gambaran/index.html create mode 100644 files/id/web/http/overview/index.html delete mode 100644 files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_(pac)_file/index.html create mode 100644 files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_pac_file/index.html (limited to 'files/id/web/http') diff --git a/files/id/web/http/gambaran/index.html b/files/id/web/http/gambaran/index.html deleted file mode 100644 index b06d42ac23..0000000000 --- a/files/id/web/http/gambaran/index.html +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: Gambaran HTTP -slug: Web/HTTP/Gambaran -translation_of: Web/HTTP/Overview ---- -
{{HTTPSidebar}}
- -

HTTP adalah sebuah {{Glossary("protocol")}} yang memungkinkan pengambilan sumber daya, seperti dokumen HTML. Ini adalah dasar dari pertukaran data apa pun di Web dan itu adalah protokol client-server, yang berarti permintaan diprakarsai oleh penerima (Client), biasanya browser Web. Dokumen lengkap direkonstruksi dari berbagai sub-dokumen yang diambil, misalnya teks, deskripsi tata letak, gambar, video, skrip, dan banyak lagi.

- -

A Web document is the composition of different resources

- -

Client dan Server berkomunikasi dengan bertukar pesan individual (sebagai lawan aliran data). Pesan yang dikirim oleh Client, biasanya browser Web, disebut permintaan (requests) dan pesan yang dikirim oleh server sebagai jawaban disebut respons (responses)

- -

HTTP as an application layer protocol, on top of TCP (transport layer) and IP (network layer) and below the presentation layer.Dirancang pada awal 1990-an, HTTP adalah protokol yang dapat diperluas, yang telah berevolusi dari waktu ke waktu. Ini adalah lapisan aplikasi protokol yang dikirim melalui {{Glossary("TCP")}}, atau melalui koneksi TCP yang terenkripsi {{Glossary("TLS")}} meskipun begitu semua transportasi protokol yang terpercaya secara teori juga dapat digunakan. Karena sifatnya yang dapat diperluas, protokol ini digunakan tidak hanya untuk mengambil dokumen hiperteks, tetapi juga gambar dan video atau untuk memposting konten ke server, sama seperti hasil sebuah form HTML. HTTP juga dapat digunakan untuk mengambil bagian dokumen untuk memperbarui halaman Web sesuai permintaan.

- -

Components of HTTP-based systems

- -

HTTP is a client-server protocol: requests are sent by one entity, the user-agent (or a proxy on behalf of it). Most of the time the user-agent is a Web browser, but it can be anything, for example a robot that crawls the Web to populate and maintain a search engine index.

- -

Each individual request is sent to a server, which handles it and provides an answer, called the response. Between the client and the server there are numerous entities, collectively called {{Glossary("Proxy_server", "proxies")}}, which perform different operations and act as gateways or {{Glossary("Cache", "caches")}}, for example.

- -

Client server chain

- -

In reality, there are more computers between a browser and the server handling the request: there are routers, modems, and more. Thanks to the layered design of the Web, these are hidden in the network and transport layers. HTTP is on top, at the application layer. Although important to diagnose network problems, the underlying layers are mostly irrelevant to the description of HTTP.

- -

Client: the user-agent

- -

The user-agent is any tool that acts on the behalf of the user. This role is primarily performed by the Web browser; other possibilities are programs used by engineers and Web developers to debug their applications.

- -

The browser is always the entity initiating the request. It is never the server (though some mechanisms have been added over the years to simulate server-initiated messages).

- -

To present a Web page, the browser sends an original request to fetch the HTML document that represents the page. It then parses this file, making additional requests corresponding to execution scripts, layout information (CSS) to display, and sub-resources contained within the page (usually images and videos). The Web browser then mixes these resources to present to the user a complete document, the Web page. Scripts executed by the browser can fetch more resources in later phases and the browser updates the Web page accordingly.

- -

A Web page is a hypertext document. This means some parts of displayed text are links which can be activated (usually by a click of the mouse) to fetch a new Web page, allowing the user to direct their user-agent and navigate through the Web. The browser translates these directions in HTTP requests, and further interprets the HTTP responses to present the user with a clear response.

- -

The Web server

- -

On the opposite side of the communication channel, is the server, which serves the document as requested by the client. A server appears as only a single machine virtually: this is because it may actually be a collection of servers, sharing the load (load balancing) or a complex piece of software interrogating other computers (like cache, a DB server, or e-commerce servers), totally or partially generating the document on demand.

- -

A server is not necessarily a single machine, but several server software instances can be hosted on the same machine. With HTTP/1.1 and the {{HTTPHeader("Host")}} header, they may even share the same IP address.

- -

Proxies

- -

Between the Web browser and the server, numerous computers and machines relay the HTTP messages. Due to the layered structure of the Web stack, most of these operate at the transport, network or physical levels, becoming transparent at the HTTP layer and potentially making a significant impact on performance. Those operating at the application layers are generally called proxies. These can be transparent, forwarding on the requests they receive without altering them in any way, or non-transparent, in which case they will change the request in some way before passing it along to the server. Proxies may perform numerous functions:

- - - -

Basic aspects of HTTP

- -

HTTP is simple

- -

HTTP is generally designed to be simple and human readable, even with the added complexity introduced in HTTP/2 by encapsulating HTTP messages into frames. HTTP messages can be read and understood by humans, providing easier testing for developers, and reduced complexity for newcomers.

- -

HTTP is extensible

- -

Introduced in HTTP/1.0, HTTP headers make this protocol easy to extend and experiment with. New functionality can even be introduced by a simple agreement between a client and a server about a new header's semantics.

- -

HTTP is stateless, but not sessionless

- -

HTTP is stateless: there is no link between two requests being successively carried out on the same connection. This immediately has the prospect of being problematic for users attempting to interact with certain pages coherently, for example, using e-commerce shopping baskets. But while the core of HTTP itself is stateless, HTTP cookies allow the use of stateful sessions. Using header extensibility, HTTP Cookies are added to the workflow, allowing session creation on each HTTP request to share the same context, or the same state.

- -

HTTP and connections

- -

A connection is controlled at the transport layer, and therefore fundamentally out of scope for HTTP. Though HTTP doesn't require the underlying transport protocol to be connection-based; only requiring it to be reliable, or not lose messages (so at minimum presenting an error). Among the two most common transport protocols on the Internet, TCP is reliable and UDP isn't. HTTP therefore relies on the TCP standard, which is connection-based.

- -

Before a client and server can exchange an HTTP request/response pair, they must establish a TCP connection, a process which requires several round-trips. The default behavior of HTTP/1.0 is to open a separate TCP connection for each HTTP request/response pair. This is less efficient than sharing a single TCP connection when multiple requests are sent in close succession.

- -

In order to mitigate this flaw, HTTP/1.1 introduced pipelining (which proved difficult to implement) and persistent connections: the underlying TCP connection can be partially controlled using the {{HTTPHeader("Connection")}} header. HTTP/2 went a step further by multiplexing messages over a single connection, helping keep the connection warm and more efficient.

- -

Experiments are in progress to design a better transport protocol more suited to HTTP. For example, Google is experimenting with QUIC which builds on UDP to provide a more reliable and efficient transport protocol.

- -

What can be controlled by HTTP

- -

This extensible nature of HTTP has, over time, allowed for more control and functionality of the Web. Cache or authentication methods were functions handled early in HTTP history. The ability to relax the origin constraint, by contrast, has only been added in the 2010s.

- -

Here is a list of common features controllable with HTTP.

- - - -

HTTP flow

- -

When a client wants to communicate with a server, either the final server or an intermediate proxy, it performs the following steps:

- -
    -
  1. Open a TCP connection: The TCP connection is used to send a request, or several, and receive an answer. The client may open a new connection, reuse an existing connection, or open several TCP connections to the servers.
  2. -
  3. Send an HTTP message: HTTP messages (before HTTP/2) are human-readable. With HTTP/2, these simple messages are encapsulated in frames, making them impossible to read directly, but the principle remains the same. For example: -
    GET / HTTP/1.1
    -Host: developer.mozilla.org
    -Accept-Language: fr
    -
  4. -
  5. Read the response sent by the server, such as: -
    HTTP/1.1 200 OK
    -Date: Sat, 09 Oct 2010 14:28:02 GMT
    -Server: Apache
    -Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT
    -ETag: "51142bc1-7449-479b075b2891b"
    -Accept-Ranges: bytes
    -Content-Length: 29769
    -Content-Type: text/html
    -
    -<!DOCTYPE html... (here comes the 29769 bytes of the requested web page)
    -
  6. -
  7. Close or reuse the connection for further requests.
  8. -
- -

If HTTP pipelining is activated, several requests can be sent without waiting for the first response to be fully received. HTTP pipelining has proven difficult to implement in existing networks, where old pieces of software coexist with modern versions. HTTP pipelining has been superseded in HTTP/2 with more robust multiplexing requests within a frame.

- -

HTTP Messages

- -

HTTP messages, as defined in HTTP/1.1 and earlier, are human-readable. In HTTP/2, these messages are embedded into a binary structure, a frame, allowing optimizations like compression of headers and multiplexing. Even if only part of the original HTTP message is sent in this version of HTTP, the semantics of each message is unchanged and the client reconstitutes (virtually) the original HTTP/1.1 request. It is therefore useful to comprehend HTTP/2 messages in the HTTP/1.1 format.

- -

There are two types of HTTP messages, requests and responses, each with its own format.

- -

Requests

- -

An example HTTP request:

- -

A basic HTTP request

- -

Requests consists of the following elements:

- - - -

Responses

- -

An example response:

- -

- -

Responses consist of the following elements:

- - - -

APIs based on HTTP

- -

The most commonly used API based on HTTP is the {{domxref("XMLHttpRequest")}} API, which can be used to exchange data between a {{Glossary("user agent")}} and a server. The modern {{domxref("Fetch API")}} provides the same features with a more powerful and flexible feature set.

- -

Another API, server-sent events, is a one-way service that allows a server to send events to the client, using HTTP as a transport mechanism. Using the {{domxref("EventSource")}} interface, the client opens a connection and establishes event handlers. The client browser automatically converts the messages that arrive on the HTTP stream into appropriate {{domxref("Event")}} objects, delivering them to the event handlers that have been registered for the events' {{domxref("Event.type", "type")}} if known, or to the {{domxref("EventSource.onmessage", "onmessage")}} event handler if no type-specific event handler was established.

- -

Conclusion

- -

HTTP is an extensible protocol that is easy to use. The client-server structure, combined with the ability to simply add headers, allows HTTP to advance along with the extended capabilities of the Web.

- -

Though HTTP/2 adds some complexity, by embedding HTTP messages in frames to improve performance, the basic structure of messages has stayed the same since HTTP/1.0. Session flow remains simple, allowing it to be investigated, and debugged with a simple HTTP message monitor.

diff --git a/files/id/web/http/overview/index.html b/files/id/web/http/overview/index.html new file mode 100644 index 0000000000..b06d42ac23 --- /dev/null +++ b/files/id/web/http/overview/index.html @@ -0,0 +1,173 @@ +--- +title: Gambaran HTTP +slug: Web/HTTP/Gambaran +translation_of: Web/HTTP/Overview +--- +
{{HTTPSidebar}}
+ +

HTTP adalah sebuah {{Glossary("protocol")}} yang memungkinkan pengambilan sumber daya, seperti dokumen HTML. Ini adalah dasar dari pertukaran data apa pun di Web dan itu adalah protokol client-server, yang berarti permintaan diprakarsai oleh penerima (Client), biasanya browser Web. Dokumen lengkap direkonstruksi dari berbagai sub-dokumen yang diambil, misalnya teks, deskripsi tata letak, gambar, video, skrip, dan banyak lagi.

+ +

A Web document is the composition of different resources

+ +

Client dan Server berkomunikasi dengan bertukar pesan individual (sebagai lawan aliran data). Pesan yang dikirim oleh Client, biasanya browser Web, disebut permintaan (requests) dan pesan yang dikirim oleh server sebagai jawaban disebut respons (responses)

+ +

HTTP as an application layer protocol, on top of TCP (transport layer) and IP (network layer) and below the presentation layer.Dirancang pada awal 1990-an, HTTP adalah protokol yang dapat diperluas, yang telah berevolusi dari waktu ke waktu. Ini adalah lapisan aplikasi protokol yang dikirim melalui {{Glossary("TCP")}}, atau melalui koneksi TCP yang terenkripsi {{Glossary("TLS")}} meskipun begitu semua transportasi protokol yang terpercaya secara teori juga dapat digunakan. Karena sifatnya yang dapat diperluas, protokol ini digunakan tidak hanya untuk mengambil dokumen hiperteks, tetapi juga gambar dan video atau untuk memposting konten ke server, sama seperti hasil sebuah form HTML. HTTP juga dapat digunakan untuk mengambil bagian dokumen untuk memperbarui halaman Web sesuai permintaan.

+ +

Components of HTTP-based systems

+ +

HTTP is a client-server protocol: requests are sent by one entity, the user-agent (or a proxy on behalf of it). Most of the time the user-agent is a Web browser, but it can be anything, for example a robot that crawls the Web to populate and maintain a search engine index.

+ +

Each individual request is sent to a server, which handles it and provides an answer, called the response. Between the client and the server there are numerous entities, collectively called {{Glossary("Proxy_server", "proxies")}}, which perform different operations and act as gateways or {{Glossary("Cache", "caches")}}, for example.

+ +

Client server chain

+ +

In reality, there are more computers between a browser and the server handling the request: there are routers, modems, and more. Thanks to the layered design of the Web, these are hidden in the network and transport layers. HTTP is on top, at the application layer. Although important to diagnose network problems, the underlying layers are mostly irrelevant to the description of HTTP.

+ +

Client: the user-agent

+ +

The user-agent is any tool that acts on the behalf of the user. This role is primarily performed by the Web browser; other possibilities are programs used by engineers and Web developers to debug their applications.

+ +

The browser is always the entity initiating the request. It is never the server (though some mechanisms have been added over the years to simulate server-initiated messages).

+ +

To present a Web page, the browser sends an original request to fetch the HTML document that represents the page. It then parses this file, making additional requests corresponding to execution scripts, layout information (CSS) to display, and sub-resources contained within the page (usually images and videos). The Web browser then mixes these resources to present to the user a complete document, the Web page. Scripts executed by the browser can fetch more resources in later phases and the browser updates the Web page accordingly.

+ +

A Web page is a hypertext document. This means some parts of displayed text are links which can be activated (usually by a click of the mouse) to fetch a new Web page, allowing the user to direct their user-agent and navigate through the Web. The browser translates these directions in HTTP requests, and further interprets the HTTP responses to present the user with a clear response.

+ +

The Web server

+ +

On the opposite side of the communication channel, is the server, which serves the document as requested by the client. A server appears as only a single machine virtually: this is because it may actually be a collection of servers, sharing the load (load balancing) or a complex piece of software interrogating other computers (like cache, a DB server, or e-commerce servers), totally or partially generating the document on demand.

+ +

A server is not necessarily a single machine, but several server software instances can be hosted on the same machine. With HTTP/1.1 and the {{HTTPHeader("Host")}} header, they may even share the same IP address.

+ +

Proxies

+ +

Between the Web browser and the server, numerous computers and machines relay the HTTP messages. Due to the layered structure of the Web stack, most of these operate at the transport, network or physical levels, becoming transparent at the HTTP layer and potentially making a significant impact on performance. Those operating at the application layers are generally called proxies. These can be transparent, forwarding on the requests they receive without altering them in any way, or non-transparent, in which case they will change the request in some way before passing it along to the server. Proxies may perform numerous functions:

+ + + +

Basic aspects of HTTP

+ +

HTTP is simple

+ +

HTTP is generally designed to be simple and human readable, even with the added complexity introduced in HTTP/2 by encapsulating HTTP messages into frames. HTTP messages can be read and understood by humans, providing easier testing for developers, and reduced complexity for newcomers.

+ +

HTTP is extensible

+ +

Introduced in HTTP/1.0, HTTP headers make this protocol easy to extend and experiment with. New functionality can even be introduced by a simple agreement between a client and a server about a new header's semantics.

+ +

HTTP is stateless, but not sessionless

+ +

HTTP is stateless: there is no link between two requests being successively carried out on the same connection. This immediately has the prospect of being problematic for users attempting to interact with certain pages coherently, for example, using e-commerce shopping baskets. But while the core of HTTP itself is stateless, HTTP cookies allow the use of stateful sessions. Using header extensibility, HTTP Cookies are added to the workflow, allowing session creation on each HTTP request to share the same context, or the same state.

+ +

HTTP and connections

+ +

A connection is controlled at the transport layer, and therefore fundamentally out of scope for HTTP. Though HTTP doesn't require the underlying transport protocol to be connection-based; only requiring it to be reliable, or not lose messages (so at minimum presenting an error). Among the two most common transport protocols on the Internet, TCP is reliable and UDP isn't. HTTP therefore relies on the TCP standard, which is connection-based.

+ +

Before a client and server can exchange an HTTP request/response pair, they must establish a TCP connection, a process which requires several round-trips. The default behavior of HTTP/1.0 is to open a separate TCP connection for each HTTP request/response pair. This is less efficient than sharing a single TCP connection when multiple requests are sent in close succession.

+ +

In order to mitigate this flaw, HTTP/1.1 introduced pipelining (which proved difficult to implement) and persistent connections: the underlying TCP connection can be partially controlled using the {{HTTPHeader("Connection")}} header. HTTP/2 went a step further by multiplexing messages over a single connection, helping keep the connection warm and more efficient.

+ +

Experiments are in progress to design a better transport protocol more suited to HTTP. For example, Google is experimenting with QUIC which builds on UDP to provide a more reliable and efficient transport protocol.

+ +

What can be controlled by HTTP

+ +

This extensible nature of HTTP has, over time, allowed for more control and functionality of the Web. Cache or authentication methods were functions handled early in HTTP history. The ability to relax the origin constraint, by contrast, has only been added in the 2010s.

+ +

Here is a list of common features controllable with HTTP.

+ + + +

HTTP flow

+ +

When a client wants to communicate with a server, either the final server or an intermediate proxy, it performs the following steps:

+ +
    +
  1. Open a TCP connection: The TCP connection is used to send a request, or several, and receive an answer. The client may open a new connection, reuse an existing connection, or open several TCP connections to the servers.
  2. +
  3. Send an HTTP message: HTTP messages (before HTTP/2) are human-readable. With HTTP/2, these simple messages are encapsulated in frames, making them impossible to read directly, but the principle remains the same. For example: +
    GET / HTTP/1.1
    +Host: developer.mozilla.org
    +Accept-Language: fr
    +
  4. +
  5. Read the response sent by the server, such as: +
    HTTP/1.1 200 OK
    +Date: Sat, 09 Oct 2010 14:28:02 GMT
    +Server: Apache
    +Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT
    +ETag: "51142bc1-7449-479b075b2891b"
    +Accept-Ranges: bytes
    +Content-Length: 29769
    +Content-Type: text/html
    +
    +<!DOCTYPE html... (here comes the 29769 bytes of the requested web page)
    +
  6. +
  7. Close or reuse the connection for further requests.
  8. +
+ +

If HTTP pipelining is activated, several requests can be sent without waiting for the first response to be fully received. HTTP pipelining has proven difficult to implement in existing networks, where old pieces of software coexist with modern versions. HTTP pipelining has been superseded in HTTP/2 with more robust multiplexing requests within a frame.

+ +

HTTP Messages

+ +

HTTP messages, as defined in HTTP/1.1 and earlier, are human-readable. In HTTP/2, these messages are embedded into a binary structure, a frame, allowing optimizations like compression of headers and multiplexing. Even if only part of the original HTTP message is sent in this version of HTTP, the semantics of each message is unchanged and the client reconstitutes (virtually) the original HTTP/1.1 request. It is therefore useful to comprehend HTTP/2 messages in the HTTP/1.1 format.

+ +

There are two types of HTTP messages, requests and responses, each with its own format.

+ +

Requests

+ +

An example HTTP request:

+ +

A basic HTTP request

+ +

Requests consists of the following elements:

+ + + +

Responses

+ +

An example response:

+ +

+ +

Responses consist of the following elements:

+ + + +

APIs based on HTTP

+ +

The most commonly used API based on HTTP is the {{domxref("XMLHttpRequest")}} API, which can be used to exchange data between a {{Glossary("user agent")}} and a server. The modern {{domxref("Fetch API")}} provides the same features with a more powerful and flexible feature set.

+ +

Another API, server-sent events, is a one-way service that allows a server to send events to the client, using HTTP as a transport mechanism. Using the {{domxref("EventSource")}} interface, the client opens a connection and establishes event handlers. The client browser automatically converts the messages that arrive on the HTTP stream into appropriate {{domxref("Event")}} objects, delivering them to the event handlers that have been registered for the events' {{domxref("Event.type", "type")}} if known, or to the {{domxref("EventSource.onmessage", "onmessage")}} event handler if no type-specific event handler was established.

+ +

Conclusion

+ +

HTTP is an extensible protocol that is easy to use. The client-server structure, combined with the ability to simply add headers, allows HTTP to advance along with the extended capabilities of the Web.

+ +

Though HTTP/2 adds some complexity, by embedding HTTP messages in frames to improve performance, the basic structure of messages has stayed the same since HTTP/1.0. Session flow remains simple, allowing it to be investigated, and debugged with a simple HTTP message monitor.

diff --git a/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_(pac)_file/index.html b/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_(pac)_file/index.html deleted file mode 100644 index c470d2fe27..0000000000 --- a/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_(pac)_file/index.html +++ /dev/null @@ -1,727 +0,0 @@ ---- -title: Proxy Auto-Configuration (PAC) file -slug: Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file -translation_of: Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file ---- -
{{HTTPSidebar}}
- -

File Proxy Auto-Configuration (PAC) adalah fungsi JavaScript yang menentukan apakah permintaan browser web (HTTP, HTTPS, dan FTP) langsung ke tujuan atau diteruskan ke server proxy web. Fungsi JavaScript yang terdapat dalam file PAC mendefinisikan fungsi tersebut:

- -
function FindProxyForURL(url, host) {
-  // ...
-}
- -

Sintaksis

- -
function FindProxyForURL(url, host)
- -

Parameter

- -
-
url
-
URL sedang diakses. Jalur dan komponen kueri https://URL dihilangkan. Di Chrome (versi 52 hingga 73), Anda dapat menonaktifkan ini dengan menyetel PacHttpsUrlStrippingEnabledke falsedalam kebijakan atau dengan meluncurkan dengan --unsafe-pac-urlbendera baris perintah (di Chrome 74, hanya bendera yang berfungsi, dan dari 75 dan seterusnya, tidak ada cara untuk menonaktifkan jalur- pengupasan; mulai Chrome 81, pengupasan jalur tidak berlaku untuk URL HTTP, tetapi ada minat untuk mengubah perilaku ini agar cocok dengan HTTPS); di Firefox, preferensinya adalah network.proxy.autoconfig_url.include_path.
-
host
-
Nama host diekstrak dari URL. Ini hanya untuk kenyamanan; itu adalah string yang sama seperti antara ://dan yang pertama :atau /setelah itu. Nomor port tidak termasuk dalam parameter ini. Ini dapat diekstrak dari URL bila perlu.
-
- -

Deskripsi

- -

Mengembalikan string yang menjelaskan konfigurasi. Format string ini ditentukan dalam format nilai pengembalian di bawah ini.

- -

Format nilai pengembalian

- - - -
-
DIRECT
-
Koneksi harus dibuat secara langsung, tanpa proxy apa pun
-
PROXY host:port
-
Proksi yang ditentukan harus digunakan
-
SOCKS host:port
-
Server SOCKS yang ditentukan harus digunakan
-
- -

Versi terbaru Firefox juga mendukung:

- -
-
HTTP host:port
-
Proksi yang ditentukan harus digunakan
-
HTTPS host:port
-
Proksi HTTPS yang ditentukan harus digunakan
-
SOCKS4 host:port
-
SOCKS5 host:port
-
Server SOCKS yang ditentukan (dengan versi SOCK yang ditentukan) harus digunakan
-
- -

Jika ada beberapa pengaturan yang dipisahkan titik koma, pengaturan paling kiri akan digunakan, sampai Firefox gagal membuat sambungan ke proxy. Dalam hal ini, nilai selanjutnya akan digunakan, dll.

- -

Browser akan secara otomatis mencoba proxy yang sebelumnya tidak merespons setelah 30 menit. Upaya tambahan akan berlanjut mulai dari satu jam, selalu menambahkan 30 menit ke waktu yang telah berlalu di antara upaya.

- -

Jika semua proxy sedang down, dan tidak ada opsi LANGSUNG yang ditentukan, browser akan menanyakan apakah proxy harus diabaikan untuk sementara, dan koneksi langsung diupayakan. Setelah 20 menit, browser akan menanyakan apakah proxy harus dicoba lagi, menanyakan lagi setelah 40 menit tambahan. Kueri akan berlanjut, selalu menambahkan 20 menit ke waktu yang telah berlalu di antara kueri.

- -

Contoh

- -
-
PROXY w3proxy.netscape.com:8080; PROXY mozilla.netscape.com:8081
-
Proksi utama adalah w3proxy: 8080; jika turun, mulailah menggunakan mozilla: 8081 hingga proxy utama muncul lagi.
-
PROXY w3proxy.netscape.com:8080; PROXY mozilla.netscape.com:8081; DIRECT
-
Sama seperti di atas, tetapi jika kedua proxy turun, secara otomatis mulai membuat koneksi langsung. (Pada contoh pertama di atas, Netscape akan menanyakan konfirmasi pengguna tentang membuat koneksi langsung; dalam hal ini, tidak ada intervensi pengguna.)
-
PROXY w3proxy.netscape.com:8080; SOCKS socks:1080
-
Gunakan SOCKS jika proxy utama mati.
-
- -

File konfigurasi otomatis harus disimpan ke file dengan ekstensi nama file .pac:

- -
proxy.pac
- -

Dan tipe MIME harus disetel ke:

- -
application/x-ns-proxy-autoconfig
- -

Selanjutnya, Anda harus mengkonfigurasi server Anda untuk memetakan ekstensi nama file .pac ke jenis MIME.

- -
-

Catatan:

- - -
- -

Fungsi dan lingkungan yang telah ditentukan sebelumnya

- -

Fungsi-fungsi ini dapat digunakan untuk membuat file PAC:

- - - -
-

Catatan: pactester (bagian dari paket pacparser ) digunakan untuk menguji contoh sintaks berikut.

- - -
- -

isPlainHostName ()

- -

Sintaksis

- -
isPlainHostName(host)
- -

Parameter

- -
-
tuan rumah
-
Nama host dari URL (tidak termasuk nomor port).
-
- -

Deskripsi

- -

Benar jika dan hanya jika tidak ada nama domain di nama host (tidak ada titik).

- -

Contoh

- -
isPlainHostName("www.mozilla.org") // false
-isPlainHostName("www") // true
-
- -

dnsDomainIs()

- -

Sintaksis

- -
dnsDomainIs(host, domain)
- -

Parameter

- -
-
tuan rumah
-
Apakah nama host dari URL.
-
domain
-
Apakah nama domain untuk menguji nama host.
-
- -

Deskripsi

- -

Mengembalikan nilai benar jika dan hanya jika domain nama host cocok.

- -

Contoh

- -
dnsDomainIs("www.mozilla.org", ".mozilla.org") // true
-dnsDomainIs("www", ".mozilla.org") // false
-
- -

localHostOrDomainIs ()

- -

Sintaksis

- -
localHostOrDomainIs(host, hostdom)
- -

Parameter

- -
-
tuan rumah
-
Nama host dari URL.
-
tuan rumah
-
Nama host yang sepenuhnya memenuhi syarat untuk dicocokkan.
-
- -

Deskripsi

- -

Benar jika nama host sama persis dengan nama host yang ditentukan, atau jika tidak ada bagian nama domain dalam nama host, tetapi nama host yang tidak memenuhi syarat cocok.

- -

Contoh

- -
localHostOrDomainIs("www.mozilla.org" , "www.mozilla.org") // true (exact match)
-localHostOrDomainIs("www"             , "www.mozilla.org") // true (hostname match, domain not specified)
-localHostOrDomainIs("www.google.com"  , "www.mozilla.org") // false (domain name mismatch)
-localHostOrDomainIs("home.mozilla.org", "www.mozilla.org") // false (hostname mismatch)
- -

isResolvable ()

- -

Sintaksis

- -
isResolvable(host)
- -

Parameter

- -
-
tuan rumah
-
adalah nama host dari URL.
-
- -

Mencoba menyelesaikan nama host. Mengembalikan nilai benar jika berhasil.

- -

Contoh:

- -
isResolvable("www.mozilla.org") // true
-
- -

isInNet ()

- -

Sintaksis

- -
isInNet(host, pattern, mask)
- -

Parameter

- -
-
tuan rumah
-
nama host DNS, atau alamat IP. Jika nama host dilewatkan, itu akan diselesaikan menjadi alamat IP dengan fungsi ini.
-
pola
-
pola alamat IP dalam format yang dipisahkan titik.
-
topeng
-
mask untuk pola alamat IP yang menginformasikan bagian mana dari alamat IP yang harus dicocokkan. 0 berarti abaikan, 255 berarti cocok.
-
- -

True jika dan hanya jika alamat IP dari host cocok dengan pola alamat IP yang ditentukan.

- -

Spesifikasi pola dan topeng dilakukan dengan cara yang sama seperti untuk konfigurasi SOCKS.

- -

Contoh:

- -
function alert_eval(str) { alert(str + ' is ' + eval(str)) }
-function FindProxyForURL(url, host) {
-  alert_eval('isInNet(host, "63.245.213.24", "255.255.255.255")')
-  // "PAC-alert: isInNet(host, "63.245.213.24", "255.255.255.255") is true"
-}
-
- -

dnsResolve ()

- -
dnsResolve(host)
- -

Parameter

- -
-
tuan rumah
-
nama host untuk diselesaikan.
-
- -

Menyelesaikan nama host DNS yang diberikan menjadi alamat IP, dan mengembalikannya dalam format yang dipisahkan titik sebagai string.

- -

Contoh

- -
dnsResolve("www.mozilla.org"); // returns the string "104.16.41.2"
- -

convert_addr ()

- -

Sintaksis

- -
convert_addr(ipaddr)
- -

Parameter

- -
-
ipaddr
-
Alamat bertitik apa pun seperti alamat IP atau topeng.
-
- -

Menggabungkan empat byte yang dipisahkan titik menjadi satu kata 4-byte dan mengubahnya menjadi desimal.

- -

Contoh

- -
convert_addr("104.16.41.2"); // returns the decimal number 1745889538
- -

myIpAddress ()

- -

Sintaksis

- -
myIpAddress()
- -

Parameter

- -

(tidak ada)

- -

Mengembalikan alamat IP server dari mesin tempat Firefox dijalankan, sebagai string dalam format bilangan bulat yang dipisahkan titik.

- -
-

myIpAddress () mengembalikan alamat IP yang sama dengan alamat server yang dikembalikan oleh nslookup localhost mesin Linux. Itu tidak mengembalikan alamat IP publik.

-
- -

Contoh

- -
myIpAddress() //returns the string "127.0.1.1" if you were running Firefox on that localhost
- -

dnsDomainLevels ()

- -

Sintaksis

- -
dnsDomainLevels(host)
- -

Parameter

- -
-
tuan rumah
-
adalah nama host dari URL.
-
- -

Mengembalikan angka (bilangan bulat) dari level domain DNS (jumlah titik) di nama host.

- -

Contoh:

- -
dnsDomainLevels("www");             // 0
-dnsDomainLevels("mozilla.org");     // 1
-dnsDomainLevels("www.mozilla.org"); // 2
-
- -

shExpMatch ()

- -

Sintaksis

- -
shExpMatch(str, shexp)
- -

Parameter

- -
-
str
-
adalah sembarang string untuk dibandingkan (mis. URL, atau nama host).
-
shexp
-
adalah ekspresi shell untuk dibandingkan.
-
- -

Mengembalikan nilai benar jika string cocok dengan ekspresi shell yang ditentukan.

- -

Perhatikan bahwa polanya adalah ekspresi shell glob , bukan ekspresi reguler. *dan ?selalu didukung, sementara [characters]dan [^characters]didukung oleh beberapa implementasi termasuk Firefox. Ini terutama karena ekspresi diterjemahkan ke RegExp melalui subsitusi [.*?]. Untuk cara yang dapat diandalkan untuk menggunakan sintaks RegExp ini, cukup gunakan RegExp sebagai gantinya.

- -

Contoh

- -
shExpMatch("http://home.netscape.com/people/ari/index.html"     , "*/ari/*"); // returns true
-shExpMatch("http://home.netscape.com/people/montulli/index.html", "*/ari/*"); // returns false
- -

weekdayRange ()

- -

Sintaksis

- -
weekdayRange(wd1, wd2, [gmt])
- -
-

Catatan: (Sebelum Firefox 49) wd1 harus lebih kecil dari wd2 jika Anda ingin fungsi mengevaluasi parameter ini sebagai rentang. Lihat peringatan di bawah.

-
- -

Parameter

- -
-
wd1 dan wd2
-
Salah satu string hari kerja yang dipesan:
-
-
"SUN"|"MON"|"TUE"|"WED"|"THU"|"FRI"|"SAT"
-
-
waktu Greenwich
-
Apakah string "GMT" atau ditinggalkan.
-
- -

Hanya parameter pertama yang wajib diisi. Entah yang kedua, ketiga, atau keduanya mungkin ditinggalkan.

- -

Jika hanya satu parameter yang ada, fungsi mengembalikan nilai true pada hari kerja yang diwakili oleh parameter. Jika string "GMT" ditetapkan sebagai parameter kedua, waktu dianggap dalam GMT. Jika tidak, mereka diasumsikan berada dalam zona waktu lokal.

- -

Jika wd1 dan wd1 ditentukan, kondisinya benar jika hari kerja saat ini berada di antara dua hari kerja yang dipesan . Batas bersifat inklusif, tetapi batasnya teratur . Jika parameter "GMT" ditentukan, waktu dianggap dalam GMT. Jika tidak, zona waktu lokal digunakan.

- -
-

Urutan hari penting ; Sebelum Firefox 49, akan selalu bernilai true. Sekarang hanya akan mengevaluasi benar jika hari ini adalah Rabu atau Minggu.weekdayRange("SUN", "SAT")weekdayRange("WED", "SUN")

-
- -

Contoh

- -
weekdayRange("MON", "FRI");        // returns true Monday through Friday (local timezone)
-weekdayRange("MON", "FRI", "GMT"); // returns true Monday through Friday (GMT timezone)
-weekdayRange("SAT");               // returns true on Saturdays local time
-weekdayRange("SAT", "GMT");        // returns true on Saturdays GMT time
-weekdayRange("FRI", "MON");        // returns true Friday and Monday only (note, order does matter!)
- -

dateRange()

- -

Syntax

- -
dateRange(<day> | <month> | <year>, [gmt])  // ambiguity is resolved by assuming year is greater than 31
-dateRange(<day1>, <day2>, [gmt])
-dateRange(<month1>, <month2>, [gmt])
-dateRange(<year1>, <year2>, [gmt])
-dateRange(<day1>, <month1>, <day2>, <month2>, [gmt])
-dateRange(<month1>, <year1>, <month2>, <year2>, [gmt])
-dateRange(<day1>, <month1>, <year1>, <day2>, <month2>, <year2>, [gmt])
- -
-

Note: (Before Firefox 49) day1 must be less than day2, month1 must be less than month2, and year1 must be less than year2 if you want the function to evaluate these parameters as a range. See the warning below.

-
- -

Parameters

- -
-
day
-
Is the ordered day of the month between 1 and 31 (as an integer).
-
- -
1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31
- -
-
month
-
Is one of the ordered month strings below.
-
- -
"JAN"|"FEB"|"MAR"|"APR"|"MAY"|"JUN"|"JUL"|"AUG"|"SEP"|"OCT"|"NOV"|"DEC"
- -
-
year
-
Is the ordered full year integer number. For example, 2016 (not 16).
-
gmt
-
Is either the string "GMT", which makes time comparison occur in GMT timezone, or is left out. If left unspecified, times are taken to be in the local timezone.
-
- -

Jika hanya satu nilai yang ditentukan (dari setiap kategori: hari, bulan, tahun), fungsi mengembalikan nilai sebenarnya hanya pada hari yang cocok dengan spesifikasi tersebut. Jika kedua nilai ditentukan, hasilnya adalah benar di antara waktu-waktu tersebut, termasuk batas, tetapi batasnya diurutkan .

- -
-

Urutan hari, bulan, dan tahun penting ; Sebelum Firefox 49, akan selalu mengevaluasi ke . Sekarang hanya akan mengevaluasi benar jika bulan ini adalah Desember atau Januari.dateRange("JAN", "DEC")truedateRange("DEC", "JAN")

-
- -

Contoh

- -
dateRange(1);            // returns true on the first day of each month, local timezone
-dateRange(1, "GMT")      // returns true on the first day of each month, GMT timezone
-dateRange(1, 15);        // returns true on the first half of each month
-dateRange(24, "DEC");    // returns true on 24th of December each year
-dateRange("JAN", "MAR"); // returns true on the first quarter of the year
-
-dateRange(1, "JUN", 15, "AUG");
-// returns true from June 1st until August 15th, each year
-// (including June 1st and August 15th)
-
-dateRange(1, "JUN", 1995, 15, "AUG", 1995);
-// returns true from June 1st, 1995, until August 15th, same year
-
-dateRange("OCT", 1995, "MAR", 1996);
-// returns true from October 1995 until March 1996
-// (including the entire month of October 1995 and March 1996)
-
-dateRange(1995);
-// returns true during the entire year of 1995
-
-dateRange(1995, 1997);
-// returns true from beginning of year 1995 until the end of year 1997
- -

rentang waktu()

- -

Sintaksis

- -
// The full range of expansions is analogous to dateRange.
-timeRange(<hour1>, <min1>, <sec1>, <hour2>, <min2>, <sec2>, [gmt])
- -
-

Catatan: (Sebelum Firefox 49) kategori hour1, min1, sec1 harus kurang dari kategori hour2, min2, sec2 jika Anda ingin fungsi mengevaluasi parameter ini sebagai rentang. Lihat peringatan di bawah.

-
- -

Parameter

- -
-
jam
-
Adalah jam dari 0 hingga 23. (0 adalah tengah malam, 23 adalah 11 malam.)
-
min
-
Menit dari 0 hingga 59.
-
detik
-
Detik dari 0 hingga 59.
-
waktu Greenwich
-
Baik string "GMT" untuk zona waktu GMT, atau tidak ditentukan, untuk zona waktu lokal.
-
- -

Jika hanya satu nilai yang ditentukan (dari setiap kategori: jam, menit, detik), fungsi mengembalikan nilai sebenarnya hanya pada waktu yang sesuai dengan spesifikasi tersebut. Jika kedua nilai ditentukan, hasilnya adalah benar di antara waktu-waktu tersebut, termasuk batas, tetapi batasnya diurutkan .

- -
-

Urutan jam, menit, materi kedua ; Sebelum Firefox 49, akan selalu bernilai true. Sekarang hanya akan mengevaluasi benar jika jam saat ini adalah 23:00 atau tengah malam.timeRange(0, 23)timeRange(23, 0)

-
- -

Contoh

- -
timerange(12);                // returns true from noon to 1pm
-timerange(12, 13);            // returns true from noon to 1pm
-timerange(12, "GMT");         // returns true from noon to 1pm, in GMT timezone
-timerange(9, 17);             // returns true from 9am to 5pm
-timerange(8, 30, 17, 00);     // returns true from 8:30am to 5:00pm
-timerange(0, 0, 0, 0, 0, 30); // returns true between midnight and 30 seconds past midnight
- -

Contoh 1

- -

Gunakan proxy untuk semuanya kecuali host lokal

- -
-

Catatan: Karena semua contoh berikut sangat spesifik, mereka belum diuji.

-
- -

All hosts which aren't fully qualified, or the ones that are in local domain, will be connected to directly. Everything else will go through w3proxy.mozilla.org:8080. If the proxy goes down, connections become direct automatically:

- -
function FindProxyForURL(url, host) {
-  if (isPlainHostName(host) || dnsDomainIs(host, ".mozilla.org")) {
-    return "DIRECT";
-  } else {
-    return "PROXY w3proxy.mozilla.org:8080; DIRECT";
-  }
-}
- -
-

Note: This is the simplest and most efficient autoconfig file for cases where there's only one proxy.

-
- -

Example 2

- -

As above, but use proxy for local servers which are outside the firewall

- -

If there are hosts (such as the main Web server) that belong to the local domain but are outside the firewall and are only reachable through the proxy server, those exceptions can be handled using the localHostOrDomainIs() function:

- -
function FindProxyForURL(url, host) {
-  if (
-    (isPlainHostName(host) || dnsDomainIs(host, ".mozilla.org")) &&
-    !localHostOrDomainIs(host, "www.mozilla.org") &&
-    !localHostOrDoaminIs(host, "merchant.mozilla.org")
-  ) {
-    return "DIRECT";
-  } else {
-    return "PROXY w3proxy.mozilla.org:8080; DIRECT";
-  }
-}
- -

The above example will use the proxy for everything except local hosts in the mozilla.org domain, with the further exception that hosts www.mozilla.org and merchant.mozilla.org will go through the proxy.

- -
-

Note the order of the above exceptions for efficiency: localHostOrDomainIs() functions only get executed for URLs that are in local domain, not for every URL. Be careful to note the parentheses around the or expression before the and expression to achieve the above-mentioned efficient behaviour.

-
- -

Example 3

- -

Use proxy only if cannot resolve host

- -

This example will work in an environment where the internal DNS server is set up so that it can only resolve internal host names, and the goal is to use a proxy only for hosts that aren't resolvable:

- -
function FindProxyForURL(url, host) {
-  if (isResolvable(host))
-    return "DIRECT";
-  else
-    return "PROXY proxy.mydomain.com:8080";
-}
- -

The above requires consulting the DNS every time; it can be grouped intelligently with other rules so that DNS is consulted only if other rules do not yield a result:

- -
function FindProxyForURL(url, host) {
-  if (
-    isPlainHostName(host) ||
-    dnsDomainIs(host, ".mydomain.com") ||
-    isResolvable(host)
-  ) {
-    return "DIRECT";
-  } else {
-    return "PROXY proxy.mydomain.com:8080";
-  }
-}
- -

Example 4

- -

Subnet based decisions

- -

In this example all of the hosts in a given subnet are connected-to directly, others are connected through the proxy:

- -
function FindProxyForURL(url, host) {
-  if (isInNet(host, "198.95.0.0", "255.255.0.0"))
-    return "DIRECT";
-  else
-    return "PROXY proxy.mydomain.com:8080";
-}
- -

Again, use of the DNS server in the above can be minimized by adding redundant rules in the beginning:

- -
function FindProxyForURL(url, host) {
-  if (
-    isPlainHostName(host) ||
-    dnsDomainIs(host, ".mydomain.com") ||
-    isInNet(host, "198.95.0.0", "255.255.0.0")
-  ) {
-    return "DIRECT";
-  } else {
-    return "PROXY proxy.mydomain.com:8080";
-  }
-}
- -

Example 5

- -

Load balancing/routing based on URL patterns

- -

This example is more sophisticated. There are four (4) proxy servers; one of them is a hot stand-by for all of the other ones, so if any of the remaining three goes down the fourth one will take over. Furthermore, the three remaining proxy servers share the load based on URL patterns, which makes their caching more effective (there is only one copy of any document on the three servers - as opposed to one copy on each of them). The load is distributed like this:

- - - - - - - - - - - - - - - - - - - - - - - - -
ProxyPurpose
#1.com domain
#2.edu domain
#3all other domains
#4hot stand-by
- -

All local accesses are desired to be direct. All proxy servers run on the port 8080 (they don't need to, you can just change your port but remember to modify your configuations on both side). Note how strings can be concatenated with the + operator in JavaScript.

- -
function FindProxyForURL(url, host) {
-
-  if (isPlainHostName(host) || dnsDomainIs(host, ".mydomain.com"))
-    return "DIRECT";
-
-  else if (shExpMatch(host, "*.com"))
-    return "PROXY proxy1.mydomain.com:8080; " +
-           "PROXY proxy4.mydomain.com:8080";
-
-  else if (shExpMatch(host, "*.edu"))
-    return "PROXY proxy2.mydomain.com:8080; " +
-           "PROXY proxy4.mydomain.com:8080";
-
-  else
-    return "PROXY proxy3.mydomain.com:8080; " +
-           "PROXY proxy4.mydomain.com:8080";
-}
- -

Example 6

- -

Setting a proxy for a specific protocol

- -

Most of the standard JavaScript functionality is available for use in the FindProxyForURL() function. As an example, to set different proxies based on the protocol the {{jsxref("String.prototype.startsWith()", "startsWith()")}} function can be used:

- -
function FindProxyForURL(url, host) {
-
-  if (url.startsWith("http:"))
-    return "PROXY http-proxy.mydomain.com:8080";
-
-  else if (url.startsWith("ftp:"))
-    return "PROXY ftp-proxy.mydomain.com:8080";
-
-  else if (url.startsWith(“gopher:"))
-    return "PROXY gopher-proxy.mydomain.com:8080";
-
-  else if (url.startsWith("https:") || url.startsWith("snews:"))
-    return "PROXY security-proxy.mydomain.com:8080";
-
-  else
-    return "DIRECT";
-
-}
- -
-

Note: The same can be accomplished using the shExpMatch() function described earlier.

-
- -

For example:

- -
// ...
-if (shExpMatch(url, "http:*")) {
-  return "PROXY http-proxy.mydomain.com:8080";
-}
-// ...
- -
-

The autoconfig file can be output by a CGI script. This is useful, for example, when making the autoconfig file act differently based on the client IP address (the REMOTE_ADDR environment variable in CGI).

- -

Usage of isInNet(), isResolvable() and dnsResolve() functions should be carefully considered, as they require the DNS server to be consulted. All the other autoconfig-related functions are mere string-matching functions that don't require the use of a DNS server. If a proxy is used, the proxy will perform its DNS lookup which would double the impact on the DNS server. Most of the time these functions are not necessary to achieve the desired result.

-
- -

History and implementation

- -

Proxy auto-config was introduced into Netscape Navigator 2.0 in the late 1990s, at the same time when JavaScript was introduced. Open-sourcing Netscape eventually lead to Firefox itself.

- -

Oleh karena itu, implementasi PAC yang paling "asli" dan pustaka JavaScript-nya nsProxyAutoConfig.jsditemukan di versi awal Firefox. Utilitas ini ditemukan di banyak sistem sumber terbuka lainnya termasuk Chromium . Firefox kemudian mengintegrasikan file tersebut menjadi ProxyAutoConfig.cppliteral string C ++. Untuk mengekstraknya ke dalam filenya sendiri, cukup dengan menyalin potongan ke JavaScript dengan console.logperintah untuk mencetaknya.

- -

Microsoft secara umum membuat implementasinya sendiri. Dulu ada beberapa masalah dengan pustaka mereka , tetapi sebagian besar telah diselesaikan sekarang. Mereka telah mendefinisikan beberapa fungsi sufiks "Ex" baru di sekitar bagian penanganan alamat untuk mendukung IPv6. Fitur ini didukung oleh Chromium, tetapi belum didukung oleh Firefox ( bugzilla # 558253 ).

diff --git a/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_pac_file/index.html b/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_pac_file/index.html new file mode 100644 index 0000000000..c470d2fe27 --- /dev/null +++ b/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_pac_file/index.html @@ -0,0 +1,727 @@ +--- +title: Proxy Auto-Configuration (PAC) file +slug: Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file +translation_of: Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file +--- +
{{HTTPSidebar}}
+ +

File Proxy Auto-Configuration (PAC) adalah fungsi JavaScript yang menentukan apakah permintaan browser web (HTTP, HTTPS, dan FTP) langsung ke tujuan atau diteruskan ke server proxy web. Fungsi JavaScript yang terdapat dalam file PAC mendefinisikan fungsi tersebut:

+ +
function FindProxyForURL(url, host) {
+  // ...
+}
+ +

Sintaksis

+ +
function FindProxyForURL(url, host)
+ +

Parameter

+ +
+
url
+
URL sedang diakses. Jalur dan komponen kueri https://URL dihilangkan. Di Chrome (versi 52 hingga 73), Anda dapat menonaktifkan ini dengan menyetel PacHttpsUrlStrippingEnabledke falsedalam kebijakan atau dengan meluncurkan dengan --unsafe-pac-urlbendera baris perintah (di Chrome 74, hanya bendera yang berfungsi, dan dari 75 dan seterusnya, tidak ada cara untuk menonaktifkan jalur- pengupasan; mulai Chrome 81, pengupasan jalur tidak berlaku untuk URL HTTP, tetapi ada minat untuk mengubah perilaku ini agar cocok dengan HTTPS); di Firefox, preferensinya adalah network.proxy.autoconfig_url.include_path.
+
host
+
Nama host diekstrak dari URL. Ini hanya untuk kenyamanan; itu adalah string yang sama seperti antara ://dan yang pertama :atau /setelah itu. Nomor port tidak termasuk dalam parameter ini. Ini dapat diekstrak dari URL bila perlu.
+
+ +

Deskripsi

+ +

Mengembalikan string yang menjelaskan konfigurasi. Format string ini ditentukan dalam format nilai pengembalian di bawah ini.

+ +

Format nilai pengembalian

+ + + +
+
DIRECT
+
Koneksi harus dibuat secara langsung, tanpa proxy apa pun
+
PROXY host:port
+
Proksi yang ditentukan harus digunakan
+
SOCKS host:port
+
Server SOCKS yang ditentukan harus digunakan
+
+ +

Versi terbaru Firefox juga mendukung:

+ +
+
HTTP host:port
+
Proksi yang ditentukan harus digunakan
+
HTTPS host:port
+
Proksi HTTPS yang ditentukan harus digunakan
+
SOCKS4 host:port
+
SOCKS5 host:port
+
Server SOCKS yang ditentukan (dengan versi SOCK yang ditentukan) harus digunakan
+
+ +

Jika ada beberapa pengaturan yang dipisahkan titik koma, pengaturan paling kiri akan digunakan, sampai Firefox gagal membuat sambungan ke proxy. Dalam hal ini, nilai selanjutnya akan digunakan, dll.

+ +

Browser akan secara otomatis mencoba proxy yang sebelumnya tidak merespons setelah 30 menit. Upaya tambahan akan berlanjut mulai dari satu jam, selalu menambahkan 30 menit ke waktu yang telah berlalu di antara upaya.

+ +

Jika semua proxy sedang down, dan tidak ada opsi LANGSUNG yang ditentukan, browser akan menanyakan apakah proxy harus diabaikan untuk sementara, dan koneksi langsung diupayakan. Setelah 20 menit, browser akan menanyakan apakah proxy harus dicoba lagi, menanyakan lagi setelah 40 menit tambahan. Kueri akan berlanjut, selalu menambahkan 20 menit ke waktu yang telah berlalu di antara kueri.

+ +

Contoh

+ +
+
PROXY w3proxy.netscape.com:8080; PROXY mozilla.netscape.com:8081
+
Proksi utama adalah w3proxy: 8080; jika turun, mulailah menggunakan mozilla: 8081 hingga proxy utama muncul lagi.
+
PROXY w3proxy.netscape.com:8080; PROXY mozilla.netscape.com:8081; DIRECT
+
Sama seperti di atas, tetapi jika kedua proxy turun, secara otomatis mulai membuat koneksi langsung. (Pada contoh pertama di atas, Netscape akan menanyakan konfirmasi pengguna tentang membuat koneksi langsung; dalam hal ini, tidak ada intervensi pengguna.)
+
PROXY w3proxy.netscape.com:8080; SOCKS socks:1080
+
Gunakan SOCKS jika proxy utama mati.
+
+ +

File konfigurasi otomatis harus disimpan ke file dengan ekstensi nama file .pac:

+ +
proxy.pac
+ +

Dan tipe MIME harus disetel ke:

+ +
application/x-ns-proxy-autoconfig
+ +

Selanjutnya, Anda harus mengkonfigurasi server Anda untuk memetakan ekstensi nama file .pac ke jenis MIME.

+ +
+

Catatan:

+ + +
+ +

Fungsi dan lingkungan yang telah ditentukan sebelumnya

+ +

Fungsi-fungsi ini dapat digunakan untuk membuat file PAC:

+ + + +
+

Catatan: pactester (bagian dari paket pacparser ) digunakan untuk menguji contoh sintaks berikut.

+ + +
+ +

isPlainHostName ()

+ +

Sintaksis

+ +
isPlainHostName(host)
+ +

Parameter

+ +
+
tuan rumah
+
Nama host dari URL (tidak termasuk nomor port).
+
+ +

Deskripsi

+ +

Benar jika dan hanya jika tidak ada nama domain di nama host (tidak ada titik).

+ +

Contoh

+ +
isPlainHostName("www.mozilla.org") // false
+isPlainHostName("www") // true
+
+ +

dnsDomainIs()

+ +

Sintaksis

+ +
dnsDomainIs(host, domain)
+ +

Parameter

+ +
+
tuan rumah
+
Apakah nama host dari URL.
+
domain
+
Apakah nama domain untuk menguji nama host.
+
+ +

Deskripsi

+ +

Mengembalikan nilai benar jika dan hanya jika domain nama host cocok.

+ +

Contoh

+ +
dnsDomainIs("www.mozilla.org", ".mozilla.org") // true
+dnsDomainIs("www", ".mozilla.org") // false
+
+ +

localHostOrDomainIs ()

+ +

Sintaksis

+ +
localHostOrDomainIs(host, hostdom)
+ +

Parameter

+ +
+
tuan rumah
+
Nama host dari URL.
+
tuan rumah
+
Nama host yang sepenuhnya memenuhi syarat untuk dicocokkan.
+
+ +

Deskripsi

+ +

Benar jika nama host sama persis dengan nama host yang ditentukan, atau jika tidak ada bagian nama domain dalam nama host, tetapi nama host yang tidak memenuhi syarat cocok.

+ +

Contoh

+ +
localHostOrDomainIs("www.mozilla.org" , "www.mozilla.org") // true (exact match)
+localHostOrDomainIs("www"             , "www.mozilla.org") // true (hostname match, domain not specified)
+localHostOrDomainIs("www.google.com"  , "www.mozilla.org") // false (domain name mismatch)
+localHostOrDomainIs("home.mozilla.org", "www.mozilla.org") // false (hostname mismatch)
+ +

isResolvable ()

+ +

Sintaksis

+ +
isResolvable(host)
+ +

Parameter

+ +
+
tuan rumah
+
adalah nama host dari URL.
+
+ +

Mencoba menyelesaikan nama host. Mengembalikan nilai benar jika berhasil.

+ +

Contoh:

+ +
isResolvable("www.mozilla.org") // true
+
+ +

isInNet ()

+ +

Sintaksis

+ +
isInNet(host, pattern, mask)
+ +

Parameter

+ +
+
tuan rumah
+
nama host DNS, atau alamat IP. Jika nama host dilewatkan, itu akan diselesaikan menjadi alamat IP dengan fungsi ini.
+
pola
+
pola alamat IP dalam format yang dipisahkan titik.
+
topeng
+
mask untuk pola alamat IP yang menginformasikan bagian mana dari alamat IP yang harus dicocokkan. 0 berarti abaikan, 255 berarti cocok.
+
+ +

True jika dan hanya jika alamat IP dari host cocok dengan pola alamat IP yang ditentukan.

+ +

Spesifikasi pola dan topeng dilakukan dengan cara yang sama seperti untuk konfigurasi SOCKS.

+ +

Contoh:

+ +
function alert_eval(str) { alert(str + ' is ' + eval(str)) }
+function FindProxyForURL(url, host) {
+  alert_eval('isInNet(host, "63.245.213.24", "255.255.255.255")')
+  // "PAC-alert: isInNet(host, "63.245.213.24", "255.255.255.255") is true"
+}
+
+ +

dnsResolve ()

+ +
dnsResolve(host)
+ +

Parameter

+ +
+
tuan rumah
+
nama host untuk diselesaikan.
+
+ +

Menyelesaikan nama host DNS yang diberikan menjadi alamat IP, dan mengembalikannya dalam format yang dipisahkan titik sebagai string.

+ +

Contoh

+ +
dnsResolve("www.mozilla.org"); // returns the string "104.16.41.2"
+ +

convert_addr ()

+ +

Sintaksis

+ +
convert_addr(ipaddr)
+ +

Parameter

+ +
+
ipaddr
+
Alamat bertitik apa pun seperti alamat IP atau topeng.
+
+ +

Menggabungkan empat byte yang dipisahkan titik menjadi satu kata 4-byte dan mengubahnya menjadi desimal.

+ +

Contoh

+ +
convert_addr("104.16.41.2"); // returns the decimal number 1745889538
+ +

myIpAddress ()

+ +

Sintaksis

+ +
myIpAddress()
+ +

Parameter

+ +

(tidak ada)

+ +

Mengembalikan alamat IP server dari mesin tempat Firefox dijalankan, sebagai string dalam format bilangan bulat yang dipisahkan titik.

+ +
+

myIpAddress () mengembalikan alamat IP yang sama dengan alamat server yang dikembalikan oleh nslookup localhost mesin Linux. Itu tidak mengembalikan alamat IP publik.

+
+ +

Contoh

+ +
myIpAddress() //returns the string "127.0.1.1" if you were running Firefox on that localhost
+ +

dnsDomainLevels ()

+ +

Sintaksis

+ +
dnsDomainLevels(host)
+ +

Parameter

+ +
+
tuan rumah
+
adalah nama host dari URL.
+
+ +

Mengembalikan angka (bilangan bulat) dari level domain DNS (jumlah titik) di nama host.

+ +

Contoh:

+ +
dnsDomainLevels("www");             // 0
+dnsDomainLevels("mozilla.org");     // 1
+dnsDomainLevels("www.mozilla.org"); // 2
+
+ +

shExpMatch ()

+ +

Sintaksis

+ +
shExpMatch(str, shexp)
+ +

Parameter

+ +
+
str
+
adalah sembarang string untuk dibandingkan (mis. URL, atau nama host).
+
shexp
+
adalah ekspresi shell untuk dibandingkan.
+
+ +

Mengembalikan nilai benar jika string cocok dengan ekspresi shell yang ditentukan.

+ +

Perhatikan bahwa polanya adalah ekspresi shell glob , bukan ekspresi reguler. *dan ?selalu didukung, sementara [characters]dan [^characters]didukung oleh beberapa implementasi termasuk Firefox. Ini terutama karena ekspresi diterjemahkan ke RegExp melalui subsitusi [.*?]. Untuk cara yang dapat diandalkan untuk menggunakan sintaks RegExp ini, cukup gunakan RegExp sebagai gantinya.

+ +

Contoh

+ +
shExpMatch("http://home.netscape.com/people/ari/index.html"     , "*/ari/*"); // returns true
+shExpMatch("http://home.netscape.com/people/montulli/index.html", "*/ari/*"); // returns false
+ +

weekdayRange ()

+ +

Sintaksis

+ +
weekdayRange(wd1, wd2, [gmt])
+ +
+

Catatan: (Sebelum Firefox 49) wd1 harus lebih kecil dari wd2 jika Anda ingin fungsi mengevaluasi parameter ini sebagai rentang. Lihat peringatan di bawah.

+
+ +

Parameter

+ +
+
wd1 dan wd2
+
Salah satu string hari kerja yang dipesan:
+
+
"SUN"|"MON"|"TUE"|"WED"|"THU"|"FRI"|"SAT"
+
+
waktu Greenwich
+
Apakah string "GMT" atau ditinggalkan.
+
+ +

Hanya parameter pertama yang wajib diisi. Entah yang kedua, ketiga, atau keduanya mungkin ditinggalkan.

+ +

Jika hanya satu parameter yang ada, fungsi mengembalikan nilai true pada hari kerja yang diwakili oleh parameter. Jika string "GMT" ditetapkan sebagai parameter kedua, waktu dianggap dalam GMT. Jika tidak, mereka diasumsikan berada dalam zona waktu lokal.

+ +

Jika wd1 dan wd1 ditentukan, kondisinya benar jika hari kerja saat ini berada di antara dua hari kerja yang dipesan . Batas bersifat inklusif, tetapi batasnya teratur . Jika parameter "GMT" ditentukan, waktu dianggap dalam GMT. Jika tidak, zona waktu lokal digunakan.

+ +
+

Urutan hari penting ; Sebelum Firefox 49, akan selalu bernilai true. Sekarang hanya akan mengevaluasi benar jika hari ini adalah Rabu atau Minggu.weekdayRange("SUN", "SAT")weekdayRange("WED", "SUN")

+
+ +

Contoh

+ +
weekdayRange("MON", "FRI");        // returns true Monday through Friday (local timezone)
+weekdayRange("MON", "FRI", "GMT"); // returns true Monday through Friday (GMT timezone)
+weekdayRange("SAT");               // returns true on Saturdays local time
+weekdayRange("SAT", "GMT");        // returns true on Saturdays GMT time
+weekdayRange("FRI", "MON");        // returns true Friday and Monday only (note, order does matter!)
+ +

dateRange()

+ +

Syntax

+ +
dateRange(<day> | <month> | <year>, [gmt])  // ambiguity is resolved by assuming year is greater than 31
+dateRange(<day1>, <day2>, [gmt])
+dateRange(<month1>, <month2>, [gmt])
+dateRange(<year1>, <year2>, [gmt])
+dateRange(<day1>, <month1>, <day2>, <month2>, [gmt])
+dateRange(<month1>, <year1>, <month2>, <year2>, [gmt])
+dateRange(<day1>, <month1>, <year1>, <day2>, <month2>, <year2>, [gmt])
+ +
+

Note: (Before Firefox 49) day1 must be less than day2, month1 must be less than month2, and year1 must be less than year2 if you want the function to evaluate these parameters as a range. See the warning below.

+
+ +

Parameters

+ +
+
day
+
Is the ordered day of the month between 1 and 31 (as an integer).
+
+ +
1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31
+ +
+
month
+
Is one of the ordered month strings below.
+
+ +
"JAN"|"FEB"|"MAR"|"APR"|"MAY"|"JUN"|"JUL"|"AUG"|"SEP"|"OCT"|"NOV"|"DEC"
+ +
+
year
+
Is the ordered full year integer number. For example, 2016 (not 16).
+
gmt
+
Is either the string "GMT", which makes time comparison occur in GMT timezone, or is left out. If left unspecified, times are taken to be in the local timezone.
+
+ +

Jika hanya satu nilai yang ditentukan (dari setiap kategori: hari, bulan, tahun), fungsi mengembalikan nilai sebenarnya hanya pada hari yang cocok dengan spesifikasi tersebut. Jika kedua nilai ditentukan, hasilnya adalah benar di antara waktu-waktu tersebut, termasuk batas, tetapi batasnya diurutkan .

+ +
+

Urutan hari, bulan, dan tahun penting ; Sebelum Firefox 49, akan selalu mengevaluasi ke . Sekarang hanya akan mengevaluasi benar jika bulan ini adalah Desember atau Januari.dateRange("JAN", "DEC")truedateRange("DEC", "JAN")

+
+ +

Contoh

+ +
dateRange(1);            // returns true on the first day of each month, local timezone
+dateRange(1, "GMT")      // returns true on the first day of each month, GMT timezone
+dateRange(1, 15);        // returns true on the first half of each month
+dateRange(24, "DEC");    // returns true on 24th of December each year
+dateRange("JAN", "MAR"); // returns true on the first quarter of the year
+
+dateRange(1, "JUN", 15, "AUG");
+// returns true from June 1st until August 15th, each year
+// (including June 1st and August 15th)
+
+dateRange(1, "JUN", 1995, 15, "AUG", 1995);
+// returns true from June 1st, 1995, until August 15th, same year
+
+dateRange("OCT", 1995, "MAR", 1996);
+// returns true from October 1995 until March 1996
+// (including the entire month of October 1995 and March 1996)
+
+dateRange(1995);
+// returns true during the entire year of 1995
+
+dateRange(1995, 1997);
+// returns true from beginning of year 1995 until the end of year 1997
+ +

rentang waktu()

+ +

Sintaksis

+ +
// The full range of expansions is analogous to dateRange.
+timeRange(<hour1>, <min1>, <sec1>, <hour2>, <min2>, <sec2>, [gmt])
+ +
+

Catatan: (Sebelum Firefox 49) kategori hour1, min1, sec1 harus kurang dari kategori hour2, min2, sec2 jika Anda ingin fungsi mengevaluasi parameter ini sebagai rentang. Lihat peringatan di bawah.

+
+ +

Parameter

+ +
+
jam
+
Adalah jam dari 0 hingga 23. (0 adalah tengah malam, 23 adalah 11 malam.)
+
min
+
Menit dari 0 hingga 59.
+
detik
+
Detik dari 0 hingga 59.
+
waktu Greenwich
+
Baik string "GMT" untuk zona waktu GMT, atau tidak ditentukan, untuk zona waktu lokal.
+
+ +

Jika hanya satu nilai yang ditentukan (dari setiap kategori: jam, menit, detik), fungsi mengembalikan nilai sebenarnya hanya pada waktu yang sesuai dengan spesifikasi tersebut. Jika kedua nilai ditentukan, hasilnya adalah benar di antara waktu-waktu tersebut, termasuk batas, tetapi batasnya diurutkan .

+ +
+

Urutan jam, menit, materi kedua ; Sebelum Firefox 49, akan selalu bernilai true. Sekarang hanya akan mengevaluasi benar jika jam saat ini adalah 23:00 atau tengah malam.timeRange(0, 23)timeRange(23, 0)

+
+ +

Contoh

+ +
timerange(12);                // returns true from noon to 1pm
+timerange(12, 13);            // returns true from noon to 1pm
+timerange(12, "GMT");         // returns true from noon to 1pm, in GMT timezone
+timerange(9, 17);             // returns true from 9am to 5pm
+timerange(8, 30, 17, 00);     // returns true from 8:30am to 5:00pm
+timerange(0, 0, 0, 0, 0, 30); // returns true between midnight and 30 seconds past midnight
+ +

Contoh 1

+ +

Gunakan proxy untuk semuanya kecuali host lokal

+ +
+

Catatan: Karena semua contoh berikut sangat spesifik, mereka belum diuji.

+
+ +

All hosts which aren't fully qualified, or the ones that are in local domain, will be connected to directly. Everything else will go through w3proxy.mozilla.org:8080. If the proxy goes down, connections become direct automatically:

+ +
function FindProxyForURL(url, host) {
+  if (isPlainHostName(host) || dnsDomainIs(host, ".mozilla.org")) {
+    return "DIRECT";
+  } else {
+    return "PROXY w3proxy.mozilla.org:8080; DIRECT";
+  }
+}
+ +
+

Note: This is the simplest and most efficient autoconfig file for cases where there's only one proxy.

+
+ +

Example 2

+ +

As above, but use proxy for local servers which are outside the firewall

+ +

If there are hosts (such as the main Web server) that belong to the local domain but are outside the firewall and are only reachable through the proxy server, those exceptions can be handled using the localHostOrDomainIs() function:

+ +
function FindProxyForURL(url, host) {
+  if (
+    (isPlainHostName(host) || dnsDomainIs(host, ".mozilla.org")) &&
+    !localHostOrDomainIs(host, "www.mozilla.org") &&
+    !localHostOrDoaminIs(host, "merchant.mozilla.org")
+  ) {
+    return "DIRECT";
+  } else {
+    return "PROXY w3proxy.mozilla.org:8080; DIRECT";
+  }
+}
+ +

The above example will use the proxy for everything except local hosts in the mozilla.org domain, with the further exception that hosts www.mozilla.org and merchant.mozilla.org will go through the proxy.

+ +
+

Note the order of the above exceptions for efficiency: localHostOrDomainIs() functions only get executed for URLs that are in local domain, not for every URL. Be careful to note the parentheses around the or expression before the and expression to achieve the above-mentioned efficient behaviour.

+
+ +

Example 3

+ +

Use proxy only if cannot resolve host

+ +

This example will work in an environment where the internal DNS server is set up so that it can only resolve internal host names, and the goal is to use a proxy only for hosts that aren't resolvable:

+ +
function FindProxyForURL(url, host) {
+  if (isResolvable(host))
+    return "DIRECT";
+  else
+    return "PROXY proxy.mydomain.com:8080";
+}
+ +

The above requires consulting the DNS every time; it can be grouped intelligently with other rules so that DNS is consulted only if other rules do not yield a result:

+ +
function FindProxyForURL(url, host) {
+  if (
+    isPlainHostName(host) ||
+    dnsDomainIs(host, ".mydomain.com") ||
+    isResolvable(host)
+  ) {
+    return "DIRECT";
+  } else {
+    return "PROXY proxy.mydomain.com:8080";
+  }
+}
+ +

Example 4

+ +

Subnet based decisions

+ +

In this example all of the hosts in a given subnet are connected-to directly, others are connected through the proxy:

+ +
function FindProxyForURL(url, host) {
+  if (isInNet(host, "198.95.0.0", "255.255.0.0"))
+    return "DIRECT";
+  else
+    return "PROXY proxy.mydomain.com:8080";
+}
+ +

Again, use of the DNS server in the above can be minimized by adding redundant rules in the beginning:

+ +
function FindProxyForURL(url, host) {
+  if (
+    isPlainHostName(host) ||
+    dnsDomainIs(host, ".mydomain.com") ||
+    isInNet(host, "198.95.0.0", "255.255.0.0")
+  ) {
+    return "DIRECT";
+  } else {
+    return "PROXY proxy.mydomain.com:8080";
+  }
+}
+ +

Example 5

+ +

Load balancing/routing based on URL patterns

+ +

This example is more sophisticated. There are four (4) proxy servers; one of them is a hot stand-by for all of the other ones, so if any of the remaining three goes down the fourth one will take over. Furthermore, the three remaining proxy servers share the load based on URL patterns, which makes their caching more effective (there is only one copy of any document on the three servers - as opposed to one copy on each of them). The load is distributed like this:

+ + + + + + + + + + + + + + + + + + + + + + + + +
ProxyPurpose
#1.com domain
#2.edu domain
#3all other domains
#4hot stand-by
+ +

All local accesses are desired to be direct. All proxy servers run on the port 8080 (they don't need to, you can just change your port but remember to modify your configuations on both side). Note how strings can be concatenated with the + operator in JavaScript.

+ +
function FindProxyForURL(url, host) {
+
+  if (isPlainHostName(host) || dnsDomainIs(host, ".mydomain.com"))
+    return "DIRECT";
+
+  else if (shExpMatch(host, "*.com"))
+    return "PROXY proxy1.mydomain.com:8080; " +
+           "PROXY proxy4.mydomain.com:8080";
+
+  else if (shExpMatch(host, "*.edu"))
+    return "PROXY proxy2.mydomain.com:8080; " +
+           "PROXY proxy4.mydomain.com:8080";
+
+  else
+    return "PROXY proxy3.mydomain.com:8080; " +
+           "PROXY proxy4.mydomain.com:8080";
+}
+ +

Example 6

+ +

Setting a proxy for a specific protocol

+ +

Most of the standard JavaScript functionality is available for use in the FindProxyForURL() function. As an example, to set different proxies based on the protocol the {{jsxref("String.prototype.startsWith()", "startsWith()")}} function can be used:

+ +
function FindProxyForURL(url, host) {
+
+  if (url.startsWith("http:"))
+    return "PROXY http-proxy.mydomain.com:8080";
+
+  else if (url.startsWith("ftp:"))
+    return "PROXY ftp-proxy.mydomain.com:8080";
+
+  else if (url.startsWith(“gopher:"))
+    return "PROXY gopher-proxy.mydomain.com:8080";
+
+  else if (url.startsWith("https:") || url.startsWith("snews:"))
+    return "PROXY security-proxy.mydomain.com:8080";
+
+  else
+    return "DIRECT";
+
+}
+ +
+

Note: The same can be accomplished using the shExpMatch() function described earlier.

+
+ +

For example:

+ +
// ...
+if (shExpMatch(url, "http:*")) {
+  return "PROXY http-proxy.mydomain.com:8080";
+}
+// ...
+ +
+

The autoconfig file can be output by a CGI script. This is useful, for example, when making the autoconfig file act differently based on the client IP address (the REMOTE_ADDR environment variable in CGI).

+ +

Usage of isInNet(), isResolvable() and dnsResolve() functions should be carefully considered, as they require the DNS server to be consulted. All the other autoconfig-related functions are mere string-matching functions that don't require the use of a DNS server. If a proxy is used, the proxy will perform its DNS lookup which would double the impact on the DNS server. Most of the time these functions are not necessary to achieve the desired result.

+
+ +

History and implementation

+ +

Proxy auto-config was introduced into Netscape Navigator 2.0 in the late 1990s, at the same time when JavaScript was introduced. Open-sourcing Netscape eventually lead to Firefox itself.

+ +

Oleh karena itu, implementasi PAC yang paling "asli" dan pustaka JavaScript-nya nsProxyAutoConfig.jsditemukan di versi awal Firefox. Utilitas ini ditemukan di banyak sistem sumber terbuka lainnya termasuk Chromium . Firefox kemudian mengintegrasikan file tersebut menjadi ProxyAutoConfig.cppliteral string C ++. Untuk mengekstraknya ke dalam filenya sendiri, cukup dengan menyalin potongan ke JavaScript dengan console.logperintah untuk mencetaknya.

+ +

Microsoft secara umum membuat implementasinya sendiri. Dulu ada beberapa masalah dengan pustaka mereka , tetapi sebagian besar telah diselesaikan sekarang. Mereka telah mendefinisikan beberapa fungsi sufiks "Ex" baru di sekitar bagian penanganan alamat untuk mendukung IPv6. Fitur ini didukung oleh Chromium, tetapi belum didukung oleh Firefox ( bugzilla # 558253 ).

-- cgit v1.2.3-54-g00ecf From 102003f64915a9b73e467c9858ed9c772e38f9fb Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:47:40 +0100 Subject: unslug id: modify --- files/id/_redirects.txt | 56 +- files/id/_wikihistory.json | 784 ++++++++++----------- .../conflicting/learn/common_questions/index.html | 3 +- .../mdn/contribute/getting_started/index.html | 3 +- files/id/conflicting/web/api/webrtc_api/index.html | 3 +- files/id/conflicting/web/guide/index.html | 3 +- .../web/javascript/guide/introduction/index.html | 3 +- .../reference/global_objects/function/index.html | 3 +- .../reference/global_objects/string/index.html | 3 +- files/id/glossary/algorithm/index.html | 3 +- .../how_does_the_internet_work/index.html | 3 +- .../thinking_before_coding/index.html | 3 +- files/id/learn/css/first_steps/index.html | 3 +- files/id/learn/forms/index.html | 3 +- .../dealing_with_files/index.html | 5 +- .../what_will_your_website_look_like/index.html | 5 +- .../document_and_website_structure/index.html | 3 +- .../html_text_fundamentals/index.html | 3 +- .../id/learn/html/introduction_to_html/index.html | 3 +- .../structuring_a_page_of_content/index.html | 3 +- .../adding_vector_graphics_to_the_web/index.html | 3 +- .../learn/html/multimedia_and_embedding/index.html | 3 +- .../responsive_images/index.html | 3 +- files/id/learn/html/tables/index.html | 3 +- .../id/learn/javascript/objects/basics/index.html | 3 +- files/id/mdn/tools/index.html | 3 +- .../webextensions/api/notifications/index.html | 3 +- .../what_are_webextensions/index.html | 3 +- files/id/mozilla/developer_guide/index.html | 3 +- .../virtual_arm_linux_environment/index.html | 3 +- .../id/orphaned/learn/how_to_contribute/index.html | 3 +- .../mdn/community/conversations/index.html | 3 +- files/id/orphaned/mdn/community/index.html | 3 +- .../howto/create_an_mdn_account/index.html | 3 +- .../howto/do_a_technical_review/index.html | 3 +- .../howto/do_an_editorial_review/index.html | 3 +- .../howto/set_the_summary_for_a_page/index.html | 3 +- .../id/orphaned/mdn/tools/page_deletion/index.html | 3 +- files/id/web/api/element/error_event/index.html | 3 +- files/id/web/api/push_api/index.html | 3 +- .../media_queries/using_media_queries/index.html | 3 +- files/id/web/css/reference/index.html | 3 +- files/id/web/guide/graphics/index.html | 3 +- files/id/web/http/overview/index.html | 3 +- .../proxy_auto-configuration_pac_file/index.html | 3 +- files/id/web/javascript/closures/index.html | 3 +- .../javascript/guide/grammar_and_types/index.html | 3 +- files/id/web/javascript/guide/index.html | 3 +- .../web/javascript/guide/introduction/index.html | 5 +- .../guide/loops_and_iteration/index.html | 3 +- .../javascript/guide/numbers_and_dates/index.html | 3 +- .../guide/working_with_objects/index.html | 5 +- .../inheritance_and_the_prototype_chain/index.html | 3 +- .../javascript_technologies_overview/index.html | 3 +- .../reference/operators/function/index.html | 3 +- .../reference/statements/function/index.html | 3 +- 56 files changed, 559 insertions(+), 451 deletions(-) (limited to 'files/id/web/http') diff --git a/files/id/_redirects.txt b/files/id/_redirects.txt index ef75a46987..b31b04f68c 100644 --- a/files/id/_redirects.txt +++ b/files/id/_redirects.txt @@ -1,7 +1,10 @@ # FROM-URL TO-URL +/id/docs/Developer_Guide /id/docs/Mozilla/Developer_guide +/id/docs/Developer_Guide/Virtual_ARM_di_Lingkungan_Linux /id/docs/Mozilla/Developer_guide/Virtual_ARM_Linux_environment +/id/docs/Glossary/Algoritma /id/docs/Glossary/Algorithm /id/docs/HTML /id/docs/Web/HTML /id/docs/JavaScript /id/docs/Web/JavaScript -/id/docs/JavaScript/Panduan /id/docs/Web/JavaScript/Panduan +/id/docs/JavaScript/Panduan /id/docs/Web/JavaScript/Guide /id/docs/JavaScript/Reference /id/docs/Web/JavaScript/Reference /id/docs/JavaScript/Reference/About /id/docs/Web/JavaScript/Reference/About /id/docs/JavaScript/Reference/Global_Objects /id/docs/Web/JavaScript/Reference/Global_Objects @@ -10,13 +13,64 @@ /id/docs/JavaScript/Reference/Statements /id/docs/Web/JavaScript/Reference/Statements /id/docs/Learn/CSS/Introduction_to_CSS /en-US/docs/Learn/CSS/First_steps /id/docs/Learn/CSS/Introduction_to_CSS/Box_model /en-US/docs/Learn/CSS/Building_blocks/The_box_model +/id/docs/Learn/Common_questions/Bagaimana_cara_kerja_Internet /id/docs/Learn/Common_questions/How_does_the_Internet_work +/id/docs/Learn/Common_questions/Berfikir_sebelum_membuat_kode /id/docs/Learn/Common_questions/Thinking_before_coding +/id/docs/Learn/Getting_started_with_the_web/Akan_terlihat_seperti_apa_website_anda /id/docs/Learn/Getting_started_with_the_web/What_will_your_website_look_like +/id/docs/Learn/Getting_started_with_the_web/Mengelola_file /id/docs/Learn/Getting_started_with_the_web/Dealing_with_files +/id/docs/Learn/HTML/Multimedia_dan_embedding /id/docs/Learn/HTML/Multimedia_and_embedding +/id/docs/Learn/HTML/Multimedia_dan_embedding/Adding_vector_graphics_to_the_Web /id/docs/Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web +/id/docs/Learn/HTML/Multimedia_dan_embedding/Responsive_images /id/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images +/id/docs/Learn/HTML/Pengenalan_HTML /id/docs/Learn/HTML/Introduction_to_HTML +/id/docs/Learn/HTML/Pengenalan_HTML/Document_and_website_structure /id/docs/Learn/HTML/Introduction_to_HTML/Document_and_website_structure +/id/docs/Learn/HTML/Pengenalan_HTML/HTML_text_fundamentals /id/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals +/id/docs/Learn/HTML/Pengenalan_HTML/Structuring_a_page_of_content /id/docs/Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content +/id/docs/Learn/HTML/Tabel /id/docs/Learn/HTML/Tables +/id/docs/Learn/How_to_contribute /id/docs/orphaned/Learn/How_to_contribute +/id/docs/Learn/JavaScript/Objects/Dasar-dasar /id/docs/Learn/JavaScript/Objects/Basics +/id/docs/Learn/Web_Mechanics /id/docs/conflicting/Learn/Common_questions /id/docs/MDN/Contribute/Content /id/docs/MDN/Guidelines /id/docs/MDN/Contribute/Content/Layout /id/docs/MDN/Guidelines/Layout /id/docs/MDN/Contribute/Content/Writing_style_guide /id/docs/MDN/Guidelines/Writing_style_guide +/id/docs/MDN/Contribute/Howto/Create_an_MDN_account /id/docs/orphaned/MDN/Contribute/Howto/Create_an_MDN_account +/id/docs/MDN/Contribute/Howto/Do_a_technical_review /id/docs/orphaned/MDN/Contribute/Howto/Do_a_technical_review +/id/docs/MDN/Contribute/Howto/Do_an_editorial_review /id/docs/orphaned/MDN/Contribute/Howto/Do_an_editorial_review +/id/docs/MDN/Contribute/Howto/Set_the_summary_for_a_page /id/docs/orphaned/MDN/Contribute/Howto/Set_the_summary_for_a_page +/id/docs/MDN/Contribute/Tugas /id/docs/conflicting/MDN/Contribute/Getting_started +/id/docs/MDN/Komunitas /id/docs/orphaned/MDN/Community +/id/docs/MDN/Komunitas/Conversations /id/docs/orphaned/MDN/Community/Conversations /id/docs/MDN/Langkah_Awal /id/docs/MDN/Contribute/Getting_started +/id/docs/MDN/User_guide /id/docs/MDN/Tools +/id/docs/MDN/User_guide/Menghapus_halaman /id/docs/orphaned/MDN/Tools/Page_deletion +/id/docs/Mozilla/Add-ons/WebExtensions/API/notifikasi /id/docs/Mozilla/Add-ons/WebExtensions/API/notifications +/id/docs/Mozilla/Add-ons/WebExtensions/Apa_Itu_WebExtensions /id/docs/Mozilla/Add-ons/WebExtensions/What_are_WebExtensions +/id/docs/Pengembangan_Web /id/docs/conflicting/Web/Guide +/id/docs/Web/API/API_Push /id/docs/Web/API/Push_API +/id/docs/Web/CSS/referensi /id/docs/Web/CSS/Reference +/id/docs/Web/Events/error /id/docs/Web/API/Element/error_event +/id/docs/Web/Guide/API/WebRTC /id/docs/conflicting/Web/API/WebRTC_API /id/docs/Web/Guide/CSS /id/docs/Learn/CSS +/id/docs/Web/Guide/CSS/Getting_started /id/docs/Learn/CSS/First_steps +/id/docs/Web/Guide/CSS/Media_queries /id/docs/Web/CSS/Media_Queries/Using_media_queries +/id/docs/Web/Guide/Grafis /id/docs/Web/Guide/Graphics /id/docs/Web/Guide/HTML /id/docs/Learn/HTML +/id/docs/Web/Guide/HTML/Forms /id/docs/Learn/Forms +/id/docs/Web/HTTP/Gambaran /id/docs/Web/HTTP/Overview +/id/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file /id/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file +/id/docs/Web/JavaScript/Inheritance_dan_prototype_chain /id/docs/Web/JavaScript/Inheritance_and_the_prototype_chain +/id/docs/Web/JavaScript/Panduan /id/docs/Web/JavaScript/Guide +/id/docs/Web/JavaScript/Panduan/Closures /id/docs/Web/JavaScript/Closures +/id/docs/Web/JavaScript/Panduan/Loops_and_iteration /id/docs/Web/JavaScript/Guide/Loops_and_iteration +/id/docs/Web/JavaScript/Panduan/Numbers_and_dates /id/docs/Web/JavaScript/Guide/Numbers_and_dates +/id/docs/Web/JavaScript/Panduan/Tentang /id/docs/conflicting/Web/JavaScript/Guide/Introduction +/id/docs/Web/JavaScript/Panduan/Values,_variables,_and_literals /id/docs/Web/JavaScript/Guide/Grammar_and_types +/id/docs/Web/JavaScript/Panduan/Working_with_Objects /id/docs/Web/JavaScript/Guide/Working_with_Objects +/id/docs/Web/JavaScript/Panduan/pengenalan /id/docs/Web/JavaScript/Guide/Introduction +/id/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype /id/docs/conflicting/Web/JavaScript/Reference/Global_Objects/Function +/id/docs/Web/JavaScript/Reference/Global_Objects/String/purwarupa /id/docs/conflicting/Web/JavaScript/Reference/Global_Objects/String /id/docs/Web/JavaScript/Reference/Methods_Index /id/docs/Web/JavaScript/Reference +/id/docs/Web/JavaScript/Reference/Operators/fungsi /id/docs/Web/JavaScript/Reference/Operators/function /id/docs/Web/JavaScript/Reference/Properties_Index /id/docs/Web/JavaScript/Reference +/id/docs/Web/JavaScript/Reference/Statements/fungsi /id/docs/Web/JavaScript/Reference/Statements/function +/id/docs/Web/JavaScript/sekilas_teknologi_JavaScript /id/docs/Web/JavaScript/JavaScript_technologies_overview /id/docs/Web/WebGL /id/docs/Web/API/WebGL_API /id/docs/en /en-US/ diff --git a/files/id/_wikihistory.json b/files/id/_wikihistory.json index e2c2390dbb..ea8365583e 100644 --- a/files/id/_wikihistory.json +++ b/files/id/_wikihistory.json @@ -1,16 +1,4 @@ { - "Developer_Guide": { - "modified": "2019-03-23T23:27:41.297Z", - "contributors": [ - "bskari" - ] - }, - "Developer_Guide/Virtual_ARM_di_Lingkungan_Linux": { - "modified": "2019-03-23T23:27:45.214Z", - "contributors": [ - "ariestiyansyah" - ] - }, "Games": { "modified": "2020-07-23T02:23:56.130Z", "contributors": [ @@ -69,14 +57,6 @@ "bekti" ] }, - "Glossary/Algoritma": { - "modified": "2019-03-23T22:41:10.845Z", - "contributors": [ - "yayansupiana", - "astrominion", - "agungprasetyosakti" - ] - }, "Glossary/Asynchronous": { "modified": "2019-03-23T22:29:53.061Z", "contributors": [ @@ -229,19 +209,6 @@ "stephaniehobson" ] }, - "Learn/Common_questions/Bagaimana_cara_kerja_Internet": { - "modified": "2020-07-16T22:35:36.880Z", - "contributors": [ - "xenavrt", - "dennisblight" - ] - }, - "Learn/Common_questions/Berfikir_sebelum_membuat_kode": { - "modified": "2020-07-16T22:35:34.339Z", - "contributors": [ - "wahyuakbarwibowo" - ] - }, "Learn/Common_questions/Pages_sites_servers_and_search_engines": { "modified": "2020-07-16T22:35:39.876Z", "contributors": [ @@ -267,15 +234,6 @@ "chrisdavidmills" ] }, - "Learn/Getting_started_with_the_web/Akan_terlihat_seperti_apa_website_anda": { - "modified": "2020-07-16T22:34:16.825Z", - "contributors": [ - "thickkoezz", - "bekti", - "dovjay", - "yayansupiana" - ] - }, "Learn/Getting_started_with_the_web/CSS_basics": { "modified": "2020-07-16T22:34:58.859Z", "contributors": [ @@ -322,15 +280,6 @@ "adeyahya" ] }, - "Learn/Getting_started_with_the_web/Mengelola_file": { - "modified": "2020-07-16T22:34:33.806Z", - "contributors": [ - "thickkoezz", - "galuhsahid", - "BPiVcarD", - "vdanny" - ] - }, "Learn/Getting_started_with_the_web/Publishing_your_website": { "modified": "2020-07-16T22:34:25.723Z", "contributors": [ @@ -350,67 +299,6 @@ "ikramwadudu99" ] }, - "Learn/HTML/Multimedia_dan_embedding": { - "modified": "2020-07-16T22:24:25.764Z", - "contributors": [ - "SphinxKnight", - "putrapuices", - "thickkoezz" - ] - }, - "Learn/HTML/Multimedia_dan_embedding/Adding_vector_graphics_to_the_Web": { - "modified": "2020-07-16T22:24:40.529Z", - "contributors": [ - "mujahid-it" - ] - }, - "Learn/HTML/Multimedia_dan_embedding/Responsive_images": { - "modified": "2020-07-16T22:24:34.275Z", - "contributors": [ - "mujahid-it" - ] - }, - "Learn/HTML/Pengenalan_HTML": { - "modified": "2020-07-30T01:00:05.720Z", - "contributors": [ - "setyadi", - "Zen-Akira", - "thickkoezz", - "ariaenggar" - ] - }, - "Learn/HTML/Pengenalan_HTML/Document_and_website_structure": { - "modified": "2020-07-16T22:24:04.997Z", - "contributors": [ - "mujahid-it" - ] - }, - "Learn/HTML/Pengenalan_HTML/HTML_text_fundamentals": { - "modified": "2020-07-16T22:23:32.925Z", - "contributors": [ - "Transamunos" - ] - }, - "Learn/HTML/Pengenalan_HTML/Structuring_a_page_of_content": { - "modified": "2020-07-16T22:24:19.411Z", - "contributors": [ - "mujahid-it" - ] - }, - "Learn/HTML/Tabel": { - "modified": "2020-07-16T22:25:12.167Z", - "contributors": [ - "jatmikaekachandra" - ] - }, - "Learn/How_to_contribute": { - "modified": "2020-07-16T22:33:44.062Z", - "contributors": [ - "SphinxKnight", - "bekti", - "ariestiyansyah" - ] - }, "Learn/JavaScript": { "modified": "2020-07-16T22:29:39.927Z", "contributors": [ @@ -460,12 +348,6 @@ "Fidelstu" ] }, - "Learn/JavaScript/Objects/Dasar-dasar": { - "modified": "2020-07-16T22:31:59.183Z", - "contributors": [ - "indrayoganata" - ] - }, "Learn/Server-side": { "modified": "2020-07-16T22:35:58.563Z", "contributors": [ @@ -500,12 +382,6 @@ "ferdian89" ] }, - "Learn/Web_Mechanics": { - "modified": "2020-07-16T22:22:13.418Z", - "contributors": [ - "miftahafina" - ] - }, "MDN": { "modified": "2020-08-29T05:39:32.291Z", "contributors": [ @@ -577,39 +453,6 @@ "Sheppy" ] }, - "MDN/Contribute/Howto/Create_an_MDN_account": { - "modified": "2019-03-23T22:38:48.748Z", - "contributors": [ - "wbamberg", - "padila50", - "firmanwyd", - "taqiyyuki02", - "Lukman04" - ] - }, - "MDN/Contribute/Howto/Do_a_technical_review": { - "modified": "2019-03-23T22:32:05.940Z", - "contributors": [ - "wbamberg", - "heasanking" - ] - }, - "MDN/Contribute/Howto/Do_an_editorial_review": { - "modified": "2019-03-23T22:31:28.587Z", - "contributors": [ - "wbamberg", - "ElangSBP", - "bekti", - "Pieteru" - ] - }, - "MDN/Contribute/Howto/Set_the_summary_for_a_page": { - "modified": "2019-01-16T19:13:18.495Z", - "contributors": [ - "wbamberg", - "zekaras" - ] - }, "MDN/Contribute/Howto/Tag": { "modified": "2019-03-23T23:04:03.858Z", "contributors": [ @@ -625,14 +468,6 @@ "jswisher" ] }, - "MDN/Contribute/Tugas": { - "modified": "2019-01-16T19:13:42.819Z", - "contributors": [ - "wbamberg", - "firmanwyd", - "Cr7Pramana" - ] - }, "MDN/Guidelines": { "modified": "2020-09-30T15:29:57.815Z", "contributors": [ @@ -649,41 +484,6 @@ "alvisolikah0507" ] }, - "MDN/Komunitas": { - "modified": "2019-05-29T21:20:10.743Z", - "contributors": [ - "alattalatta", - "KLIWONJagung", - "wbamberg", - "Makarim", - "firmanwyd", - "padila50", - "bekti", - "eriskatp" - ] - }, - "MDN/Komunitas/Conversations": { - "modified": "2019-03-23T22:41:40.315Z", - "contributors": [ - "wbamberg", - "jswisher", - "randiproska" - ] - }, - "MDN/User_guide": { - "modified": "2020-12-14T09:31:03.075Z", - "contributors": [ - "wbamberg", - "Sheppy" - ] - }, - "MDN/User_guide/Menghapus_halaman": { - "modified": "2019-01-16T18:55:32.659Z", - "contributors": [ - "wbamberg", - "helloeny" - ] - }, "Mozilla": { "modified": "2019-03-23T23:28:31.556Z", "contributors": [ @@ -725,14 +525,6 @@ "didikpramono" ] }, - "Mozilla/Add-ons/WebExtensions/API/notifikasi": { - "modified": "2020-10-15T22:05:36.197Z", - "contributors": [ - "asiongtobing", - "wbamberg", - "Azhe403" - ] - }, "Mozilla/Add-ons/WebExtensions/API/windows": { "modified": "2020-10-15T21:51:41.708Z", "contributors": [ @@ -747,12 +539,6 @@ "fesuydev" ] }, - "Mozilla/Add-ons/WebExtensions/Apa_Itu_WebExtensions": { - "modified": "2019-03-18T21:06:29.401Z", - "contributors": [ - "fesuydev" - ] - }, "Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs": { "modified": "2020-10-15T20:55:16.114Z", "contributors": [ @@ -790,12 +576,6 @@ "ziyunfei" ] }, - "Pengembangan_Web": { - "modified": "2019-03-23T22:51:52.244Z", - "contributors": [ - "rahmatsubekti" - ] - }, "Tools": { "modified": "2020-07-16T22:44:15.262Z", "contributors": [ @@ -880,12 +660,6 @@ "pieteru_insekai" ] }, - "Web/API/API_Push": { - "modified": "2019-03-23T22:39:12.627Z", - "contributors": [ - "bayuah" - ] - }, "Web/API/AbstractWorker": { "modified": "2019-03-23T22:32:36.681Z", "contributors": [ @@ -1149,12 +923,6 @@ "alifudinashfa7" ] }, - "Web/CSS/referensi": { - "modified": "2020-10-11T06:52:29.728Z", - "contributors": [ - "liimep" - ] - }, "Web/CSS/text-transform": { "modified": "2020-10-15T22:00:17.057Z", "contributors": [ @@ -1168,13 +936,6 @@ "bep" ] }, - "Web/Events/error": { - "modified": "2019-03-23T22:33:54.573Z", - "contributors": [ - "fscholz", - "bekti" - ] - }, "Web/Guide": { "modified": "2019-03-23T23:29:05.952Z", "contributors": [ @@ -1192,42 +953,6 @@ "steffix.h2" ] }, - "Web/Guide/API/WebRTC": { - "modified": "2019-03-23T22:55:51.386Z", - "contributors": [ - "fitra", - "yuan8" - ] - }, - "Web/Guide/CSS/Getting_started": { - "modified": "2019-03-23T23:14:57.144Z", - "contributors": [ - "mahfudhi" - ] - }, - "Web/Guide/CSS/Media_queries": { - "modified": "2019-03-23T23:17:04.703Z", - "contributors": [ - "Sebastianz", - "mrstork", - "malayaleecoder", - "dpitaloka" - ] - }, - "Web/Guide/Grafis": { - "modified": "2019-03-23T23:29:12.829Z", - "contributors": [ - "firmanwyd", - "bekti", - "pieteru_insekai" - ] - }, - "Web/Guide/HTML/Forms": { - "modified": "2020-07-16T22:20:57.894Z", - "contributors": [ - "ariona_rian" - ] - }, "Web/Guide/HTML/HTML5": { "modified": "2019-04-27T02:10:19.507Z", "contributors": [ @@ -1296,13 +1021,6 @@ "mfuji09" ] }, - "Web/HTTP/Gambaran": { - "modified": "2020-11-29T00:41:21.794Z", - "contributors": [ - "mzgndrg", - "bcnight" - ] - }, "Web/HTTP/Methods": { "modified": "2020-10-15T21:55:31.625Z", "contributors": [ @@ -1322,13 +1040,6 @@ "jwerre" ] }, - "Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file": { - "modified": "2020-10-20T02:03:59.798Z", - "contributors": [ - "SphinxKnight", - "worabaiyan" - ] - }, "Web/HTTP/Status": { "modified": "2020-07-11T00:04:04.381Z", "contributors": [ @@ -1418,12 +1129,6 @@ "witart" ] }, - "Web/JavaScript/Inheritance_dan_prototype_chain": { - "modified": "2020-03-12T19:46:21.083Z", - "contributors": [ - "bekti" - ] - }, "Web/JavaScript/Language_Resources": { "modified": "2020-03-12T19:44:02.368Z", "contributors": [ @@ -1437,72 +1142,6 @@ "agungprasetyosakti" ] }, - "Web/JavaScript/Panduan": { - "modified": "2020-03-12T19:38:02.146Z", - "contributors": [ - "bekti", - "teoli", - "kuntoaji" - ] - }, - "Web/JavaScript/Panduan/Closures": { - "modified": "2019-05-16T14:59:16.458Z", - "contributors": [ - "wbamberg", - "xlobin", - "sutikno" - ] - }, - "Web/JavaScript/Panduan/Loops_and_iteration": { - "modified": "2020-03-12T19:46:18.223Z", - "contributors": [ - "Fidelstu", - "jakarta" - ] - }, - "Web/JavaScript/Panduan/Numbers_and_dates": { - "modified": "2020-03-12T19:48:12.489Z", - "contributors": [ - "triashand" - ] - }, - "Web/JavaScript/Panduan/Tentang": { - "modified": "2019-05-16T15:03:14.492Z", - "contributors": [ - "wbamberg", - "adeyahya" - ] - }, - "Web/JavaScript/Panduan/Values,_variables,_and_literals": { - "modified": "2020-03-12T19:40:01.295Z", - "contributors": [ - "wbamberg", - "wawansumardi", - "sori-goklas-hutagalung", - "Fidelstu", - "bekti", - "kangfend", - "adeyahya" - ] - }, - "Web/JavaScript/Panduan/Working_with_Objects": { - "modified": "2020-03-12T19:48:10.821Z", - "contributors": [ - "thickkoezz", - "Fidelstu" - ] - }, - "Web/JavaScript/Panduan/pengenalan": { - "modified": "2020-03-12T19:41:22.637Z", - "contributors": [ - "snaztoz", - "thickkoezz", - "Fidelstu", - "ardhyui", - "bekti", - "adeyahya" - ] - }, "Web/JavaScript/Reference": { "modified": "2020-03-12T19:38:01.752Z", "contributors": [ @@ -1780,12 +1419,6 @@ "bekti" ] }, - "Web/JavaScript/Reference/Global_Objects/Function/prototype": { - "modified": "2019-03-23T22:32:00.489Z", - "contributors": [ - "bekti" - ] - }, "Web/JavaScript/Reference/Global_Objects/JSON": { "modified": "2019-01-16T22:42:04.885Z", "contributors": [ @@ -1994,13 +1627,6 @@ "bekti" ] }, - "Web/JavaScript/Reference/Global_Objects/String/purwarupa": { - "modified": "2019-03-23T22:54:49.067Z", - "contributors": [ - "bekti", - "srifqi" - ] - }, "Web/JavaScript/Reference/Global_Objects/String/split": { "modified": "2019-03-23T22:31:50.185Z", "contributors": [ @@ -2065,12 +1691,6 @@ "zainalmustofa" ] }, - "Web/JavaScript/Reference/Operators/fungsi": { - "modified": "2020-03-12T19:45:02.306Z", - "contributors": [ - "opblang" - ] - }, "Web/JavaScript/Reference/Operators/yield": { "modified": "2020-10-15T21:58:01.116Z", "contributors": [ @@ -2120,18 +1740,6 @@ "haris" ] }, - "Web/JavaScript/Reference/Statements/fungsi": { - "modified": "2020-03-12T19:46:13.838Z", - "contributors": [ - "irhamkim" - ] - }, - "Web/JavaScript/sekilas_teknologi_JavaScript": { - "modified": "2020-03-12T19:45:33.240Z", - "contributors": [ - "arifpedia" - ] - }, "Web/MathML": { "modified": "2020-10-15T22:09:52.119Z", "contributors": [ @@ -2173,5 +1781,397 @@ "contributors": [ "guciano" ] + }, + "Mozilla/Developer_guide": { + "modified": "2019-03-23T23:27:41.297Z", + "contributors": [ + "bskari" + ] + }, + "Mozilla/Developer_guide/Virtual_ARM_Linux_environment": { + "modified": "2019-03-23T23:27:45.214Z", + "contributors": [ + "ariestiyansyah" + ] + }, + "Glossary/Algorithm": { + "modified": "2019-03-23T22:41:10.845Z", + "contributors": [ + "yayansupiana", + "astrominion", + "agungprasetyosakti" + ] + }, + "Learn/Common_questions/How_does_the_Internet_work": { + "modified": "2020-07-16T22:35:36.880Z", + "contributors": [ + "xenavrt", + "dennisblight" + ] + }, + "Learn/Common_questions/Thinking_before_coding": { + "modified": "2020-07-16T22:35:34.339Z", + "contributors": [ + "wahyuakbarwibowo" + ] + }, + "Learn/Getting_started_with_the_web/What_will_your_website_look_like": { + "modified": "2020-07-16T22:34:16.825Z", + "contributors": [ + "thickkoezz", + "bekti", + "dovjay", + "yayansupiana" + ] + }, + "Learn/Getting_started_with_the_web/Dealing_with_files": { + "modified": "2020-07-16T22:34:33.806Z", + "contributors": [ + "thickkoezz", + "galuhsahid", + "BPiVcarD", + "vdanny" + ] + }, + "orphaned/Learn/How_to_contribute": { + "modified": "2020-07-16T22:33:44.062Z", + "contributors": [ + "SphinxKnight", + "bekti", + "ariestiyansyah" + ] + }, + "Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web": { + "modified": "2020-07-16T22:24:40.529Z", + "contributors": [ + "mujahid-it" + ] + }, + "Learn/HTML/Multimedia_and_embedding": { + "modified": "2020-07-16T22:24:25.764Z", + "contributors": [ + "SphinxKnight", + "putrapuices", + "thickkoezz" + ] + }, + "Learn/HTML/Multimedia_and_embedding/Responsive_images": { + "modified": "2020-07-16T22:24:34.275Z", + "contributors": [ + "mujahid-it" + ] + }, + "Learn/HTML/Introduction_to_HTML/Document_and_website_structure": { + "modified": "2020-07-16T22:24:04.997Z", + "contributors": [ + "mujahid-it" + ] + }, + "Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals": { + "modified": "2020-07-16T22:23:32.925Z", + "contributors": [ + "Transamunos" + ] + }, + "Learn/HTML/Introduction_to_HTML": { + "modified": "2020-07-30T01:00:05.720Z", + "contributors": [ + "setyadi", + "Zen-Akira", + "thickkoezz", + "ariaenggar" + ] + }, + "Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content": { + "modified": "2020-07-16T22:24:19.411Z", + "contributors": [ + "mujahid-it" + ] + }, + "Learn/HTML/Tables": { + "modified": "2020-07-16T22:25:12.167Z", + "contributors": [ + "jatmikaekachandra" + ] + }, + "Learn/JavaScript/Objects/Basics": { + "modified": "2020-07-16T22:31:59.183Z", + "contributors": [ + "indrayoganata" + ] + }, + "orphaned/MDN/Contribute/Howto/Create_an_MDN_account": { + "modified": "2019-03-23T22:38:48.748Z", + "contributors": [ + "wbamberg", + "padila50", + "firmanwyd", + "taqiyyuki02", + "Lukman04" + ] + }, + "orphaned/MDN/Contribute/Howto/Do_a_technical_review": { + "modified": "2019-03-23T22:32:05.940Z", + "contributors": [ + "wbamberg", + "heasanking" + ] + }, + "orphaned/MDN/Contribute/Howto/Do_an_editorial_review": { + "modified": "2019-03-23T22:31:28.587Z", + "contributors": [ + "wbamberg", + "ElangSBP", + "bekti", + "Pieteru" + ] + }, + "orphaned/MDN/Contribute/Howto/Set_the_summary_for_a_page": { + "modified": "2019-01-16T19:13:18.495Z", + "contributors": [ + "wbamberg", + "zekaras" + ] + }, + "orphaned/MDN/Community/Conversations": { + "modified": "2019-03-23T22:41:40.315Z", + "contributors": [ + "wbamberg", + "jswisher", + "randiproska" + ] + }, + "orphaned/MDN/Community": { + "modified": "2019-05-29T21:20:10.743Z", + "contributors": [ + "alattalatta", + "KLIWONJagung", + "wbamberg", + "Makarim", + "firmanwyd", + "padila50", + "bekti", + "eriskatp" + ] + }, + "orphaned/MDN/Tools/Page_deletion": { + "modified": "2019-01-16T18:55:32.659Z", + "contributors": [ + "wbamberg", + "helloeny" + ] + }, + "Mozilla/Add-ons/WebExtensions/What_are_WebExtensions": { + "modified": "2019-03-18T21:06:29.401Z", + "contributors": [ + "fesuydev" + ] + }, + "Mozilla/Add-ons/WebExtensions/API/notifications": { + "modified": "2020-10-15T22:05:36.197Z", + "contributors": [ + "asiongtobing", + "wbamberg", + "Azhe403" + ] + }, + "Web/API/Push_API": { + "modified": "2019-03-23T22:39:12.627Z", + "contributors": [ + "bayuah" + ] + }, + "Web/CSS/Reference": { + "modified": "2020-10-11T06:52:29.728Z", + "contributors": [ + "liimep" + ] + }, + "Web/API/Element/error_event": { + "modified": "2019-03-23T22:33:54.573Z", + "contributors": [ + "fscholz", + "bekti" + ] + }, + "Web/CSS/Media_Queries/Using_media_queries": { + "modified": "2019-03-23T23:17:04.703Z", + "contributors": [ + "Sebastianz", + "mrstork", + "malayaleecoder", + "dpitaloka" + ] + }, + "Web/Guide/Graphics": { + "modified": "2019-03-23T23:29:12.829Z", + "contributors": [ + "firmanwyd", + "bekti", + "pieteru_insekai" + ] + }, + "Learn/Forms": { + "modified": "2020-07-16T22:20:57.894Z", + "contributors": [ + "ariona_rian" + ] + }, + "Web/HTTP/Overview": { + "modified": "2020-11-29T00:41:21.794Z", + "contributors": [ + "mzgndrg", + "bcnight" + ] + }, + "Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file": { + "modified": "2020-10-20T02:03:59.798Z", + "contributors": [ + "SphinxKnight", + "worabaiyan" + ] + }, + "Web/JavaScript/Inheritance_and_the_prototype_chain": { + "modified": "2020-03-12T19:46:21.083Z", + "contributors": [ + "bekti" + ] + }, + "Web/JavaScript/Closures": { + "modified": "2019-05-16T14:59:16.458Z", + "contributors": [ + "wbamberg", + "xlobin", + "sutikno" + ] + }, + "Web/JavaScript/Guide": { + "modified": "2020-03-12T19:38:02.146Z", + "contributors": [ + "bekti", + "teoli", + "kuntoaji" + ] + }, + "Web/JavaScript/Guide/Loops_and_iteration": { + "modified": "2020-03-12T19:46:18.223Z", + "contributors": [ + "Fidelstu", + "jakarta" + ] + }, + "Web/JavaScript/Guide/Numbers_and_dates": { + "modified": "2020-03-12T19:48:12.489Z", + "contributors": [ + "triashand" + ] + }, + "Web/JavaScript/Guide/Introduction": { + "modified": "2020-03-12T19:41:22.637Z", + "contributors": [ + "snaztoz", + "thickkoezz", + "Fidelstu", + "ardhyui", + "bekti", + "adeyahya" + ] + }, + "Web/JavaScript/Guide/Grammar_and_types": { + "modified": "2020-03-12T19:40:01.295Z", + "contributors": [ + "wbamberg", + "wawansumardi", + "sori-goklas-hutagalung", + "Fidelstu", + "bekti", + "kangfend", + "adeyahya" + ] + }, + "Web/JavaScript/Guide/Working_with_Objects": { + "modified": "2020-03-12T19:48:10.821Z", + "contributors": [ + "thickkoezz", + "Fidelstu" + ] + }, + "Web/JavaScript/Reference/Operators/function": { + "modified": "2020-03-12T19:45:02.306Z", + "contributors": [ + "opblang" + ] + }, + "Web/JavaScript/Reference/Statements/function": { + "modified": "2020-03-12T19:46:13.838Z", + "contributors": [ + "irhamkim" + ] + }, + "Web/JavaScript/JavaScript_technologies_overview": { + "modified": "2020-03-12T19:45:33.240Z", + "contributors": [ + "arifpedia" + ] + }, + "conflicting/Learn/Common_questions": { + "modified": "2020-07-16T22:22:13.418Z", + "contributors": [ + "miftahafina" + ] + }, + "conflicting/MDN/Contribute/Getting_started": { + "modified": "2019-01-16T19:13:42.819Z", + "contributors": [ + "wbamberg", + "firmanwyd", + "Cr7Pramana" + ] + }, + "MDN/Tools": { + "modified": "2020-12-14T09:31:03.075Z", + "contributors": [ + "wbamberg", + "Sheppy" + ] + }, + "conflicting/Web/Guide": { + "modified": "2019-03-23T22:51:52.244Z", + "contributors": [ + "rahmatsubekti" + ] + }, + "conflicting/Web/API/WebRTC_API": { + "modified": "2019-03-23T22:55:51.386Z", + "contributors": [ + "fitra", + "yuan8" + ] + }, + "Learn/CSS/First_steps": { + "modified": "2019-03-23T23:14:57.144Z", + "contributors": [ + "mahfudhi" + ] + }, + "conflicting/Web/JavaScript/Guide/Introduction": { + "modified": "2019-05-16T15:03:14.492Z", + "contributors": [ + "wbamberg", + "adeyahya" + ] + }, + "conflicting/Web/JavaScript/Reference/Global_Objects/Function": { + "modified": "2019-03-23T22:32:00.489Z", + "contributors": [ + "bekti" + ] + }, + "conflicting/Web/JavaScript/Reference/Global_Objects/String": { + "modified": "2019-03-23T22:54:49.067Z", + "contributors": [ + "bekti", + "srifqi" + ] } } \ No newline at end of file diff --git a/files/id/conflicting/learn/common_questions/index.html b/files/id/conflicting/learn/common_questions/index.html index 2e2f406ee5..f288b46cab 100644 --- a/files/id/conflicting/learn/common_questions/index.html +++ b/files/id/conflicting/learn/common_questions/index.html @@ -1,11 +1,12 @@ --- title: Mekanisme Web -slug: Learn/Web_Mechanics +slug: conflicting/Learn/Common_questions tags: - MekanismeWeb - Pemula translation_of: Learn/Common_questions translation_of_original: Learn/Web_Mechanics +original_slug: Learn/Web_Mechanics ---

Kompetensi ini merepresentasikan pemahaman Anda mengenai ekosistem web. Kami pecah pengetahuan yang Anda butuhkan kedalam bentuk yang lebih kecil, yakni detil keahliannya.

diff --git a/files/id/conflicting/mdn/contribute/getting_started/index.html b/files/id/conflicting/mdn/contribute/getting_started/index.html index bc96bb783f..8f72597f56 100644 --- a/files/id/conflicting/mdn/contribute/getting_started/index.html +++ b/files/id/conflicting/mdn/contribute/getting_started/index.html @@ -1,6 +1,6 @@ --- title: Tugas untuk dilakukan di MDN -slug: MDN/Contribute/Tugas +slug: conflicting/MDN/Contribute/Getting_started tags: - Dokumentasi - MDN @@ -8,6 +8,7 @@ tags: - Proyek MDC translation_of: MDN/Contribute/Getting_started translation_of_original: MDN/Contribute/Tasks +original_slug: MDN/Contribute/Tugas ---
{{MDNSidebar}}

Anda ingin membuat MDN menjadi lebih baik ? Ada banyak sekali cara untuk membantu: dari memperbaiki ejaan kalimat sampai membuat konten baru, Atau bahkan membantu mengembangkan platform Kurma dimana website ini dibuat. Panduan kontributor MDN mencakup semua hal yang bisa anda bantu dan lakukkan untuk mereka. Dibawah ini, anda bisa mencari daftar spesifikasi dari tugas yang perlu diselesaikan.

diff --git a/files/id/conflicting/web/api/webrtc_api/index.html b/files/id/conflicting/web/api/webrtc_api/index.html index 60f6c73de0..2a21dd8d0c 100644 --- a/files/id/conflicting/web/api/webrtc_api/index.html +++ b/files/id/conflicting/web/api/webrtc_api/index.html @@ -1,8 +1,9 @@ --- title: WebRTC -slug: Web/Guide/API/WebRTC +slug: conflicting/Web/API/WebRTC_API translation_of: Web/API/WebRTC_API translation_of_original: Web/Guide/API/WebRTC +original_slug: Web/Guide/API/WebRTC ---

WebRTC (RTC mengacu pada Real-Time Communications) adalah sebuah teknologi yang memungkinkan pengiriman audio atau video serta berbagi data antar peramban web (peer). Sebagai sebuah standar, WebRTC menghadirkan fitur pada peramban web untuk berbagi data dan melakukan telekonferensi secara peer-to-peer, tanpa perlu memasang plugins atau aplikasi pihak ketiga.

diff --git a/files/id/conflicting/web/guide/index.html b/files/id/conflicting/web/guide/index.html index 4370766311..b127c75f68 100644 --- a/files/id/conflicting/web/guide/index.html +++ b/files/id/conflicting/web/guide/index.html @@ -1,8 +1,9 @@ --- title: Pengembangan Web -slug: Pengembangan_Web +slug: conflicting/Web/Guide translation_of: Web/Guide translation_of_original: Web_Development +original_slug: Pengembangan_Web ---

Pengembangan web terdiri dari semua aspek dalam mengembangkan sebuah situs web atau aplikasi web

diff --git a/files/id/conflicting/web/javascript/guide/introduction/index.html b/files/id/conflicting/web/javascript/guide/introduction/index.html index c7f08f0eb5..bb950dc7cc 100644 --- a/files/id/conflicting/web/javascript/guide/introduction/index.html +++ b/files/id/conflicting/web/javascript/guide/introduction/index.html @@ -1,12 +1,13 @@ --- title: Tentang Panduan Ini -slug: Web/JavaScript/Panduan/Tentang +slug: conflicting/Web/JavaScript/Guide/Introduction tags: - JavaScript - Panduan - dasar translation_of: Web/JavaScript/Guide/Introduction translation_of_original: Web/JavaScript/Guide/About +original_slug: Web/JavaScript/Panduan/Tentang ---

JavaScript adalah bahasa yang cross-platform yaitu berarti JavaScript dapat dijalankan di banyak platform seperti Linux, Windows, Mac OS, Android, Firefox OS dan lain - lain. Panduan ini akan memberikan segala pengetahuan dasar yang perlu anda ketahui dalam penggunaan JavaScript.

diff --git a/files/id/conflicting/web/javascript/reference/global_objects/function/index.html b/files/id/conflicting/web/javascript/reference/global_objects/function/index.html index 4bb3ebffbe..df0d244035 100644 --- a/files/id/conflicting/web/javascript/reference/global_objects/function/index.html +++ b/files/id/conflicting/web/javascript/reference/global_objects/function/index.html @@ -1,6 +1,6 @@ --- title: Function.prototype -slug: Web/JavaScript/Reference/Global_Objects/Function/prototype +slug: conflicting/Web/JavaScript/Reference/Global_Objects/Function tags: - Function - JavaScript @@ -8,6 +8,7 @@ tags: - Prototype translation_of: Web/JavaScript/Reference/Global_Objects/Function translation_of_original: Web/JavaScript/Reference/Global_Objects/Function/prototype +original_slug: Web/JavaScript/Reference/Global_Objects/Function/prototype ---
{{JSRef}}
diff --git a/files/id/conflicting/web/javascript/reference/global_objects/string/index.html b/files/id/conflicting/web/javascript/reference/global_objects/string/index.html index baec1f2b84..1cfb72209d 100644 --- a/files/id/conflicting/web/javascript/reference/global_objects/string/index.html +++ b/files/id/conflicting/web/javascript/reference/global_objects/string/index.html @@ -1,6 +1,6 @@ --- title: String.prototype -slug: Web/JavaScript/Reference/Global_Objects/String/purwarupa +slug: conflicting/Web/JavaScript/Reference/Global_Objects/String tags: - JavaScript - Property @@ -11,6 +11,7 @@ tags: - purwarupa translation_of: Web/JavaScript/Reference/Global_Objects/String translation_of_original: Web/JavaScript/Reference/Global_Objects/String/prototype +original_slug: Web/JavaScript/Reference/Global_Objects/String/purwarupa ---
{{JSRef}}
diff --git a/files/id/glossary/algorithm/index.html b/files/id/glossary/algorithm/index.html index d43365aeb8..451542b63b 100644 --- a/files/id/glossary/algorithm/index.html +++ b/files/id/glossary/algorithm/index.html @@ -1,8 +1,9 @@ --- title: Algoritma -slug: Glossary/Algoritma +slug: Glossary/Algorithm tags: - Glosarium translation_of: Glossary/Algorithm +original_slug: Glossary/Algoritma ---

Algoritma adalah serangkaian instruksi untuk menyelesaikan suatu masalah

diff --git a/files/id/learn/common_questions/how_does_the_internet_work/index.html b/files/id/learn/common_questions/how_does_the_internet_work/index.html index b4431bfc93..d07be62229 100644 --- a/files/id/learn/common_questions/how_does_the_internet_work/index.html +++ b/files/id/learn/common_questions/how_does_the_internet_work/index.html @@ -1,12 +1,13 @@ --- title: Bagaimana cara kerja Internet -slug: Learn/Common_questions/Bagaimana_cara_kerja_Internet +slug: Learn/Common_questions/How_does_the_Internet_work tags: - Pemula - Tutorial - Web - WebMechanics translation_of: Learn/Common_questions/How_does_the_Internet_work +original_slug: Learn/Common_questions/Bagaimana_cara_kerja_Internet ---

Artikel ini membahas apa itu Internet dan bagaimana ia bekerja.

diff --git a/files/id/learn/common_questions/thinking_before_coding/index.html b/files/id/learn/common_questions/thinking_before_coding/index.html index c50aeff182..17ba716839 100644 --- a/files/id/learn/common_questions/thinking_before_coding/index.html +++ b/files/id/learn/common_questions/thinking_before_coding/index.html @@ -1,6 +1,6 @@ --- title: Bagaimana saya mulai mendesain situs web saya? -slug: Learn/Common_questions/Berfikir_sebelum_membuat_kode +slug: Learn/Common_questions/Thinking_before_coding tags: - Beginner - Composing @@ -9,6 +9,7 @@ tags: - Pemula - needsSchema translation_of: Learn/Common_questions/Thinking_before_coding +original_slug: Learn/Common_questions/Berfikir_sebelum_membuat_kode ---

Artikel ini mencakup langkah pertama yang sangat penting dari setiap proyek: tentukan apa yang ingin Anda capai dengannya.

diff --git a/files/id/learn/css/first_steps/index.html b/files/id/learn/css/first_steps/index.html index dbff8144de..9dd4462f9c 100644 --- a/files/id/learn/css/first_steps/index.html +++ b/files/id/learn/css/first_steps/index.html @@ -1,8 +1,9 @@ --- title: Getting started with CSS -slug: Web/Guide/CSS/Getting_started +slug: Learn/CSS/First_steps translation_of: Learn/CSS/First_steps translation_of_original: Web/Guide/CSS/Getting_started +original_slug: Web/Guide/CSS/Getting_started ---

This tutorial introduces you to the basic features and language (the syntax) for Cascading Style Sheets (CSS). You use CSS to change the look of a structured document, such as a web page. The tutorial also includes sample exercises you can try on your own computer to see the effects of CSS and features that work in modern browsers.

The tutorial is for beginners and anyone who would like to review the basics of CSS. If you have more experience with CSS, the CSS main page lists more advanced resources.

diff --git a/files/id/learn/forms/index.html b/files/id/learn/forms/index.html index 9daf1d6077..a0f2639083 100644 --- a/files/id/learn/forms/index.html +++ b/files/id/learn/forms/index.html @@ -1,7 +1,8 @@ --- title: HTML forms guide -slug: Web/Guide/HTML/Forms +slug: Learn/Forms translation_of: Learn/Forms +original_slug: Web/Guide/HTML/Forms ---

Panduan ini adalah seri dari artikel-artikel yang akan membantu anda menguasai form HTML. Form HTML adalah tool yang paling poweful untuk berinteraksi dengan para pengguna; namun, karena beberapa alasan sejarah dan teknis, tidak jelas bagaimana cara menggunakannya hingga pontensi penuhnya. Dalam panduan ini, kita akan membahas seluruh aspek dari form HTML, struktur form untuk pemberian style, mulai dari penanganan data sampai widget buatan. Anda akan mempelajari bagaimana menikmati kekuatan yang mereka miliki!

Articles

diff --git a/files/id/learn/getting_started_with_the_web/dealing_with_files/index.html b/files/id/learn/getting_started_with_the_web/dealing_with_files/index.html index 04cc90ec4b..8f3ae9ab85 100644 --- a/files/id/learn/getting_started_with_the_web/dealing_with_files/index.html +++ b/files/id/learn/getting_started_with_the_web/dealing_with_files/index.html @@ -1,16 +1,17 @@ --- title: Berurusan dengan file -slug: Learn/Getting_started_with_the_web/Mengelola_file +slug: Learn/Getting_started_with_the_web/Dealing_with_files tags: - CodingScripting - File - HTML - - 'I10n:prioritas' + - I10n:prioritas - Panduan - Pemula - Teori - website translation_of: Learn/Getting_started_with_the_web/Dealing_with_files +original_slug: Learn/Getting_started_with_the_web/Mengelola_file ---

{{LearnSidebar}}

diff --git a/files/id/learn/getting_started_with_the_web/what_will_your_website_look_like/index.html b/files/id/learn/getting_started_with_the_web/what_will_your_website_look_like/index.html index 76600c89ea..65bef0702d 100644 --- a/files/id/learn/getting_started_with_the_web/what_will_your_website_look_like/index.html +++ b/files/id/learn/getting_started_with_the_web/what_will_your_website_look_like/index.html @@ -1,11 +1,11 @@ --- title: Akan terlihat seperti apa website kamu? -slug: Learn/Getting_started_with_the_web/Akan_terlihat_seperti_apa_website_anda +slug: Learn/Getting_started_with_the_web/What_will_your_website_look_like tags: - Aset - Desain - Fonts - - 'I10n:prioritas' + - I10n:prioritas - Konten - Pemula - Pengkomposisian @@ -14,6 +14,7 @@ tags: - belajar - pelan-pelan translation_of: Learn/Getting_started_with_the_web/What_will_your_website_look_like +original_slug: Learn/Getting_started_with_the_web/Akan_terlihat_seperti_apa_website_anda ---
{{LearnSidebar}}
{{PreviousMenuNext("Learn/Getting_started_with_the_web/Installing_basic_software", "Learn/Getting_started_with_the_web/Dealing_with_files", "Learn/Getting_started_with_the_web")}}
diff --git a/files/id/learn/html/introduction_to_html/document_and_website_structure/index.html b/files/id/learn/html/introduction_to_html/document_and_website_structure/index.html index 5563c68fd3..8e4f152954 100644 --- a/files/id/learn/html/introduction_to_html/document_and_website_structure/index.html +++ b/files/id/learn/html/introduction_to_html/document_and_website_structure/index.html @@ -1,6 +1,6 @@ --- title: Document and website structure -slug: Learn/HTML/Pengenalan_HTML/Document_and_website_structure +slug: Learn/HTML/Introduction_to_HTML/Document_and_website_structure tags: - HTML - Halaman @@ -12,6 +12,7 @@ tags: - blocks - semantic translation_of: Learn/HTML/Introduction_to_HTML/Document_and_website_structure +original_slug: Learn/HTML/Pengenalan_HTML/Document_and_website_structure ---
{{LearnSidebar}}
diff --git a/files/id/learn/html/introduction_to_html/html_text_fundamentals/index.html b/files/id/learn/html/introduction_to_html/html_text_fundamentals/index.html index bbee58cc80..ee34036110 100644 --- a/files/id/learn/html/introduction_to_html/html_text_fundamentals/index.html +++ b/files/id/learn/html/introduction_to_html/html_text_fundamentals/index.html @@ -1,7 +1,8 @@ --- title: Teks mendasar HTML -slug: Learn/HTML/Pengenalan_HTML/HTML_text_fundamentals +slug: Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals translation_of: Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals +original_slug: Learn/HTML/Pengenalan_HTML/HTML_text_fundamentals ---
{{LearnSidebar}}
diff --git a/files/id/learn/html/introduction_to_html/index.html b/files/id/learn/html/introduction_to_html/index.html index 367ef45712..697b1a6734 100644 --- a/files/id/learn/html/introduction_to_html/index.html +++ b/files/id/learn/html/introduction_to_html/index.html @@ -1,6 +1,6 @@ --- title: Pengenalan HTML -slug: Learn/HTML/Pengenalan_HTML +slug: Learn/HTML/Introduction_to_HTML tags: - CodingScripting - HTML @@ -11,6 +11,7 @@ tags: - head - semantic translation_of: Learn/HTML/Introduction_to_HTML +original_slug: Learn/HTML/Pengenalan_HTML ---
{{LearnSidebar}}
diff --git a/files/id/learn/html/introduction_to_html/structuring_a_page_of_content/index.html b/files/id/learn/html/introduction_to_html/structuring_a_page_of_content/index.html index 2535589f38..8856048607 100644 --- a/files/id/learn/html/introduction_to_html/structuring_a_page_of_content/index.html +++ b/files/id/learn/html/introduction_to_html/structuring_a_page_of_content/index.html @@ -1,7 +1,8 @@ --- title: Structuring a page of content -slug: Learn/HTML/Pengenalan_HTML/Structuring_a_page_of_content +slug: Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content translation_of: Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content +original_slug: Learn/HTML/Pengenalan_HTML/Structuring_a_page_of_content ---
{{LearnSidebar}}
diff --git a/files/id/learn/html/multimedia_and_embedding/adding_vector_graphics_to_the_web/index.html b/files/id/learn/html/multimedia_and_embedding/adding_vector_graphics_to_the_web/index.html index acddef0b53..1d180398fe 100644 --- a/files/id/learn/html/multimedia_and_embedding/adding_vector_graphics_to_the_web/index.html +++ b/files/id/learn/html/multimedia_and_embedding/adding_vector_graphics_to_the_web/index.html @@ -1,6 +1,6 @@ --- title: Adding vector graphics to the Web -slug: Learn/HTML/Multimedia_dan_embedding/Adding_vector_graphics_to_the_Web +slug: Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web tags: - Gambar - Grafik @@ -12,6 +12,7 @@ tags: - iframe - img translation_of: Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web +original_slug: Learn/HTML/Multimedia_dan_embedding/Adding_vector_graphics_to_the_Web ---
{{LearnSidebar}}
diff --git a/files/id/learn/html/multimedia_and_embedding/index.html b/files/id/learn/html/multimedia_and_embedding/index.html index fe111da30c..286c89f456 100644 --- a/files/id/learn/html/multimedia_and_embedding/index.html +++ b/files/id/learn/html/multimedia_and_embedding/index.html @@ -1,6 +1,6 @@ --- title: Multimedia dan Embedding -slug: Learn/HTML/Multimedia_dan_embedding +slug: Learn/HTML/Multimedia_and_embedding tags: - Asesmen - Audio @@ -22,6 +22,7 @@ tags: - img - responsif translation_of: Learn/HTML/Multimedia_and_embedding +original_slug: Learn/HTML/Multimedia_dan_embedding ---

{{LearnSidebar}}

diff --git a/files/id/learn/html/multimedia_and_embedding/responsive_images/index.html b/files/id/learn/html/multimedia_and_embedding/responsive_images/index.html index e13790b7f4..1be9210b5d 100644 --- a/files/id/learn/html/multimedia_and_embedding/responsive_images/index.html +++ b/files/id/learn/html/multimedia_and_embedding/responsive_images/index.html @@ -1,7 +1,8 @@ --- title: Responsive images -slug: Learn/HTML/Multimedia_dan_embedding/Responsive_images +slug: Learn/HTML/Multimedia_and_embedding/Responsive_images translation_of: Learn/HTML/Multimedia_and_embedding/Responsive_images +original_slug: Learn/HTML/Multimedia_dan_embedding/Responsive_images ---
{{LearnSidebar}}
diff --git a/files/id/learn/html/tables/index.html b/files/id/learn/html/tables/index.html index b8fe3a2d8a..38b406e332 100644 --- a/files/id/learn/html/tables/index.html +++ b/files/id/learn/html/tables/index.html @@ -1,7 +1,8 @@ --- title: HTML Tables -slug: Learn/HTML/Tabel +slug: Learn/HTML/Tables translation_of: Learn/HTML/Tables +original_slug: Learn/HTML/Tabel ---
{{LearnSidebar}}
diff --git a/files/id/learn/javascript/objects/basics/index.html b/files/id/learn/javascript/objects/basics/index.html index 6c273b51a3..9bc5ae4607 100644 --- a/files/id/learn/javascript/objects/basics/index.html +++ b/files/id/learn/javascript/objects/basics/index.html @@ -1,7 +1,8 @@ --- title: Dasar-dasar Objek JavaScript object -slug: Learn/JavaScript/Objects/Dasar-dasar +slug: Learn/JavaScript/Objects/Basics translation_of: Learn/JavaScript/Objects/Basics +original_slug: Learn/JavaScript/Objects/Dasar-dasar ---
{{LearnSidebar}}
diff --git a/files/id/mdn/tools/index.html b/files/id/mdn/tools/index.html index 7703e98dd1..56d1e866ff 100644 --- a/files/id/mdn/tools/index.html +++ b/files/id/mdn/tools/index.html @@ -1,6 +1,6 @@ --- title: MDN user guide -slug: MDN/User_guide +slug: MDN/Tools tags: - Documentation - Landing @@ -9,6 +9,7 @@ tags: - TopicStub translation_of: MDN/Tools translation_of_original: MDN/User_guide +original_slug: MDN/User_guide ---
{{MDNSidebar}}

The Mozilla Developer Network site is an advanced system for finding, reading, and contributing to documentation and sample code for Web developers (as well as for Firefox and Firefox OS developers). The MDN user guide provides articles detailing how to use MDN to find the documentation you need, and, if you wish, how to help make the material better, more expansive, and more complete.

{{SubpagesWithSummaries}}

diff --git a/files/id/mozilla/add-ons/webextensions/api/notifications/index.html b/files/id/mozilla/add-ons/webextensions/api/notifications/index.html index e4fb084bb2..76b0e1cfe0 100644 --- a/files/id/mozilla/add-ons/webextensions/api/notifications/index.html +++ b/files/id/mozilla/add-ons/webextensions/api/notifications/index.html @@ -1,6 +1,6 @@ --- title: notifikasi -slug: Mozilla/Add-ons/WebExtensions/API/notifikasi +slug: Mozilla/Add-ons/WebExtensions/API/notifications tags: - API - Add-ons @@ -8,6 +8,7 @@ tags: - Notifikasi - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/notifications +original_slug: Mozilla/Add-ons/WebExtensions/API/notifikasi ---
{{AddonSidebar}}
diff --git a/files/id/mozilla/add-ons/webextensions/what_are_webextensions/index.html b/files/id/mozilla/add-ons/webextensions/what_are_webextensions/index.html index 63c093bc53..917d65c274 100644 --- a/files/id/mozilla/add-ons/webextensions/what_are_webextensions/index.html +++ b/files/id/mozilla/add-ons/webextensions/what_are_webextensions/index.html @@ -1,7 +1,8 @@ --- title: Apa itu WebExtensions? -slug: Mozilla/Add-ons/WebExtensions/Apa_Itu_WebExtensions +slug: Mozilla/Add-ons/WebExtensions/What_are_WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/What_are_WebExtensions +original_slug: Mozilla/Add-ons/WebExtensions/Apa_Itu_WebExtensions ---
{{AddonSidebar}}
diff --git a/files/id/mozilla/developer_guide/index.html b/files/id/mozilla/developer_guide/index.html index f1a8f48168..01776af942 100644 --- a/files/id/mozilla/developer_guide/index.html +++ b/files/id/mozilla/developer_guide/index.html @@ -1,11 +1,12 @@ --- title: Developer Guide -slug: Developer_Guide +slug: Mozilla/Developer_guide tags: - Developing Mozilla - NeedsTranslation - TopicStub translation_of: Mozilla/Developer_guide +original_slug: Developer_Guide ---

Whether you're an old hand or just getting started, articles you can find starting from this page will help you while you're working on Mozilla development.

diff --git a/files/id/mozilla/developer_guide/virtual_arm_linux_environment/index.html b/files/id/mozilla/developer_guide/virtual_arm_linux_environment/index.html index 8465f45f06..913b70438c 100644 --- a/files/id/mozilla/developer_guide/virtual_arm_linux_environment/index.html +++ b/files/id/mozilla/developer_guide/virtual_arm_linux_environment/index.html @@ -1,6 +1,6 @@ --- title: Virtual ARM di Lingkungan Linux -slug: Developer_Guide/Virtual_ARM_di_Lingkungan_Linux +slug: Mozilla/Developer_guide/Virtual_ARM_Linux_environment tags: - ARM Linux - Mengembangkan Mozilla @@ -9,6 +9,7 @@ tags: - SSH - Virtual ARM translation_of: Mozilla/Developer_guide/Virtual_ARM_Linux_environment +original_slug: Developer_Guide/Virtual_ARM_di_Lingkungan_Linux ---

Pengujian dengan Linux di arsitektur ARM menggunakan QEMU

Halaman ini menejelaskan bagaimana cara untuk mendapatkan lingkungan virtual ARM dengan QEMU yang berjalan di (Ubuntu) Linux. Ini berguna untuk siapapun yang ingin mencoba kode ARM-specific dan tidak memiliki (atau membutuhkan) perangkat keras ARM untuk pengujian.

diff --git a/files/id/orphaned/learn/how_to_contribute/index.html b/files/id/orphaned/learn/how_to_contribute/index.html index 0a64757fc1..006a7cfe1e 100644 --- a/files/id/orphaned/learn/how_to_contribute/index.html +++ b/files/id/orphaned/learn/how_to_contribute/index.html @@ -1,6 +1,6 @@ --- title: Cara berkontribusi untuk Area Belajar di MDN -slug: Learn/How_to_contribute +slug: orphaned/Learn/How_to_contribute tags: - Dokumentasi - MDN @@ -9,6 +9,7 @@ tags: - belajar - kontribusi translation_of: Learn/How_to_contribute +original_slug: Learn/How_to_contribute ---

{{LearnSidebar}}

diff --git a/files/id/orphaned/mdn/community/conversations/index.html b/files/id/orphaned/mdn/community/conversations/index.html index d39080c8a3..1513e5b163 100644 --- a/files/id/orphaned/mdn/community/conversations/index.html +++ b/files/id/orphaned/mdn/community/conversations/index.html @@ -1,11 +1,12 @@ --- title: MDN community conversations -slug: MDN/Komunitas/Conversations +slug: orphaned/MDN/Community/Conversations tags: - Komunitas - MDN Meta - Panduan translation_of: MDN/Community/Conversations +original_slug: MDN/Komunitas/Conversations ---
{{MDNSidebar}}

"Pekerjaan" dari MDN terjadi di situs MDN, tetapi "Komunitas" juga juga melakukannya melalui diskusi (tidak tersinkronisasi) dan chatting serta meeting (tersinkronisasi)

diff --git a/files/id/orphaned/mdn/community/index.html b/files/id/orphaned/mdn/community/index.html index a60c631f76..adfd42b071 100644 --- a/files/id/orphaned/mdn/community/index.html +++ b/files/id/orphaned/mdn/community/index.html @@ -1,7 +1,8 @@ --- title: Gabung di Komunitas MDN -slug: MDN/Komunitas +slug: orphaned/MDN/Community translation_of: MDN/Community +original_slug: MDN/Komunitas ---
{{MDNSidebar}}
{{IncludeSubnav("/en-US/docs/MDN")}}
diff --git a/files/id/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html b/files/id/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html index aba3020441..5f823b3208 100644 --- a/files/id/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html +++ b/files/id/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html @@ -1,6 +1,6 @@ --- title: Bagaimana Membuat Akun MDN -slug: MDN/Contribute/Howto/Create_an_MDN_account +slug: orphaned/MDN/Contribute/Howto/Create_an_MDN_account tags: - Bagaimana - Dokumentasi @@ -8,6 +8,7 @@ tags: - Panduan - Pemula translation_of: MDN/Contribute/Howto/Create_an_MDN_account +original_slug: MDN/Contribute/Howto/Create_an_MDN_account ---
{{MDNSidebar}}

Untuk melakukan perubahan isi MDN, Anda membutuhkan sebuah MDN profil. Anda tidak perlu profil jika Anda hanya ingin membaca dan mencari info di kumpulan dokumen MDN. Panduan ini akan membantu anda melakukan pengaturan profil akun MDN anda.

diff --git a/files/id/orphaned/mdn/contribute/howto/do_a_technical_review/index.html b/files/id/orphaned/mdn/contribute/howto/do_a_technical_review/index.html index 7a9ffab8a9..0f08061f1f 100644 --- a/files/id/orphaned/mdn/contribute/howto/do_a_technical_review/index.html +++ b/files/id/orphaned/mdn/contribute/howto/do_a_technical_review/index.html @@ -1,7 +1,8 @@ --- title: How to do a technical review -slug: MDN/Contribute/Howto/Do_a_technical_review +slug: orphaned/MDN/Contribute/Howto/Do_a_technical_review translation_of: MDN/Contribute/Howto/Do_a_technical_review +original_slug: MDN/Contribute/Howto/Do_a_technical_review ---
{{MDNSidebar}}

A Technical review consists of reviewing the technical accuracy and completeness of an article and correcting it if necessary. If a writer of an article wants someone else to check the technical content of an article, the writer ticks the "Technical review" checkbox while editing. Often the writer contacts a specific engineer to perform the technical review, but anyone with technical expertise in the topic can do one.

diff --git a/files/id/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html b/files/id/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html index 74aff54886..d0cf691bf2 100644 --- a/files/id/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html +++ b/files/id/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html @@ -1,11 +1,12 @@ --- title: How to do an editorial review -slug: MDN/Contribute/Howto/Do_an_editorial_review +slug: orphaned/MDN/Contribute/Howto/Do_an_editorial_review tags: - Dokumentasi - MDN Meta - Panduan translation_of: MDN/Contribute/Howto/Do_an_editorial_review +original_slug: MDN/Contribute/Howto/Do_an_editorial_review ---
{{MDNSidebar}}
{{IncludeSubnav("/id/docs/MDN")}}
diff --git a/files/id/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html b/files/id/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html index ad89ef0686..60728e07eb 100644 --- a/files/id/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html +++ b/files/id/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html @@ -1,7 +1,8 @@ --- title: How to set the summary for a page -slug: MDN/Contribute/Howto/Set_the_summary_for_a_page +slug: orphaned/MDN/Contribute/Howto/Set_the_summary_for_a_page translation_of: MDN/Contribute/Howto/Set_the_summary_for_a_page +original_slug: MDN/Contribute/Howto/Set_the_summary_for_a_page ---
{{MDNSidebar}}

You can define the summary of a page on MDN, to be used in various ways, including in search engine results, in other MDN pages such as topical landing pages, and in tooltips. It should be text that makes sense both in the context of the page, and when displayed in other contexts, without the rest of the page content.

A summary can be explicitly defined within a page. If it is not explicitly defined, then typically the first sentence or so is used, which is not always the best text for this purpose.

diff --git a/files/id/orphaned/mdn/tools/page_deletion/index.html b/files/id/orphaned/mdn/tools/page_deletion/index.html index df0ba8ef81..8f8fa5ade8 100644 --- a/files/id/orphaned/mdn/tools/page_deletion/index.html +++ b/files/id/orphaned/mdn/tools/page_deletion/index.html @@ -1,11 +1,12 @@ --- title: Menghapus Halaman -slug: MDN/User_guide/Menghapus_halaman +slug: orphaned/MDN/Tools/Page_deletion tags: - MDN - Panduan - Proyek MDC translation_of: MDN/Tools/Page_deletion +original_slug: MDN/User_guide/Menghapus_halaman ---
{{MDNSidebar}}

Hanya Admin MDN yang bisa menghapus halaman. Artikel ini menjelaskan bagaimana meminta halaman yang dihapus dari MDN.

Untuk menyusun halaman yang ingin dihapus, Anda harus mengikuti cara berikut:

diff --git a/files/id/web/api/element/error_event/index.html b/files/id/web/api/element/error_event/index.html index a5c531c19c..242bbba9c3 100644 --- a/files/id/web/api/element/error_event/index.html +++ b/files/id/web/api/element/error_event/index.html @@ -1,7 +1,8 @@ --- title: error -slug: Web/Events/error +slug: Web/API/Element/error_event translation_of: Web/API/Element/error_event +original_slug: Web/Events/error ---

Event error ditampilkan ketika sumberdaya gagal dimuat.

diff --git a/files/id/web/api/push_api/index.html b/files/id/web/api/push_api/index.html index feae8a7373..7b4fe1a249 100644 --- a/files/id/web/api/push_api/index.html +++ b/files/id/web/api/push_api/index.html @@ -1,7 +1,8 @@ --- title: API Push -slug: Web/API/API_Push +slug: Web/API/Push_API translation_of: Web/API/Push_API +original_slug: Web/API/API_Push ---
{{DefaultAPISidebar("Push API")}}{{SeeCompatTable}}
diff --git a/files/id/web/css/media_queries/using_media_queries/index.html b/files/id/web/css/media_queries/using_media_queries/index.html index 3fe883c5f6..9fe60a8e8c 100644 --- a/files/id/web/css/media_queries/using_media_queries/index.html +++ b/files/id/web/css/media_queries/using_media_queries/index.html @@ -1,7 +1,8 @@ --- title: Media query CSS -slug: Web/Guide/CSS/Media_queries +slug: Web/CSS/Media_Queries/Using_media_queries translation_of: Web/CSS/Media_Queries/Using_media_queries +original_slug: Web/Guide/CSS/Media_queries ---

Media query terdiri dari jenis media dan paling sedikit satu ekspresi yang membatasi lingkup style sheets dengan menggunakan fitur media, seperti lebar, tinggi, dan warna. Media query, ditambahkan di CSS3, memungkinkan tampilan konten disesuaikan dengan alat penampil tertentu tanpa harus mengubah konten itu sendiri.

diff --git a/files/id/web/css/reference/index.html b/files/id/web/css/reference/index.html index 7609391ca5..b8dfca3c45 100644 --- a/files/id/web/css/reference/index.html +++ b/files/id/web/css/reference/index.html @@ -1,7 +1,8 @@ --- title: Referensi CSS -slug: Web/CSS/referensi +slug: Web/CSS/Reference translation_of: Web/CSS/Reference +original_slug: Web/CSS/referensi ---
{{CSSRef}}
diff --git a/files/id/web/guide/graphics/index.html b/files/id/web/guide/graphics/index.html index 43fb9b5954..e9d34ad59a 100644 --- a/files/id/web/guide/graphics/index.html +++ b/files/id/web/guide/graphics/index.html @@ -1,6 +1,6 @@ --- title: Grafis dalam web -slug: Web/Guide/Grafis +slug: Web/Guide/Graphics tags: - 2D - 3D @@ -11,6 +11,7 @@ tags: - Web - WebRTC translation_of: Web/Guide/Graphics +original_slug: Web/Guide/Grafis ---

Situs web moderen dan aplikasi sering membutuhkan tampilan grafis. Gambar statis dapat dengan mudah ditamilkan dengan menggunakan elemen {{HTMLElement("img")}} , atau mengatur tampilan background dari elemen HTML dengan menggunakan properti css {{cssxref("background-image")}}. anda sering menginginkan tampilan grafis melayang, atau memanipulasi gambar dari gambar nyatanya. Artikel ini memberikan wawasan tentang bagaimana anda dapat melakukannya

diff --git a/files/id/web/http/overview/index.html b/files/id/web/http/overview/index.html index b06d42ac23..580166ef43 100644 --- a/files/id/web/http/overview/index.html +++ b/files/id/web/http/overview/index.html @@ -1,7 +1,8 @@ --- title: Gambaran HTTP -slug: Web/HTTP/Gambaran +slug: Web/HTTP/Overview translation_of: Web/HTTP/Overview +original_slug: Web/HTTP/Gambaran ---
{{HTTPSidebar}}
diff --git a/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_pac_file/index.html b/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_pac_file/index.html index c470d2fe27..340989a8d1 100644 --- a/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_pac_file/index.html +++ b/files/id/web/http/proxy_servers_and_tunneling/proxy_auto-configuration_pac_file/index.html @@ -1,7 +1,8 @@ --- title: Proxy Auto-Configuration (PAC) file -slug: Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file +slug: Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file translation_of: Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file +original_slug: Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file ---
{{HTTPSidebar}}
diff --git a/files/id/web/javascript/closures/index.html b/files/id/web/javascript/closures/index.html index 73cdbb7e15..8221ca46e6 100644 --- a/files/id/web/javascript/closures/index.html +++ b/files/id/web/javascript/closures/index.html @@ -1,7 +1,8 @@ --- title: Closures -slug: Web/JavaScript/Panduan/Closures +slug: Web/JavaScript/Closures translation_of: Web/JavaScript/Closures +original_slug: Web/JavaScript/Panduan/Closures ---

Closure adalah fungsi yang merujuk kepada variabel yang mandiri (bebas). 

diff --git a/files/id/web/javascript/guide/grammar_and_types/index.html b/files/id/web/javascript/guide/grammar_and_types/index.html index 41900a1603..78eec69d04 100644 --- a/files/id/web/javascript/guide/grammar_and_types/index.html +++ b/files/id/web/javascript/guide/grammar_and_types/index.html @@ -1,10 +1,11 @@ --- title: Tata Bahasa dan Tipe -slug: 'Web/JavaScript/Panduan/Values,_variables,_and_literals' +slug: Web/JavaScript/Guide/Grammar_and_types tags: - JavaScript - Panduan translation_of: Web/JavaScript/Guide/Grammar_and_types +original_slug: Web/JavaScript/Panduan/Values,_variables,_and_literals ---
{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide/Introduction", "Web/JavaScript/Guide/Control_flow_and_error_handling")}}
diff --git a/files/id/web/javascript/guide/index.html b/files/id/web/javascript/guide/index.html index 491d4a4a84..e1a506b560 100644 --- a/files/id/web/javascript/guide/index.html +++ b/files/id/web/javascript/guide/index.html @@ -1,7 +1,8 @@ --- title: Panduan JavaScript -slug: Web/JavaScript/Panduan +slug: Web/JavaScript/Guide translation_of: Web/JavaScript/Guide +original_slug: Web/JavaScript/Panduan ---
{{jsSidebar("JavaScript Guide")}}
diff --git a/files/id/web/javascript/guide/introduction/index.html b/files/id/web/javascript/guide/introduction/index.html index 19523a0821..bfe4c9072c 100644 --- a/files/id/web/javascript/guide/introduction/index.html +++ b/files/id/web/javascript/guide/introduction/index.html @@ -1,13 +1,14 @@ --- title: Perkenalan -slug: Web/JavaScript/Panduan/pengenalan +slug: Web/JavaScript/Guide/Introduction tags: - - 'I10n:priority' + - I10n:priority - JavaScript - Pedoman - Pemula - Perkenalan translation_of: Web/JavaScript/Guide/Introduction +original_slug: Web/JavaScript/Panduan/pengenalan ---
{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide", "Web/JavaScript/Guide/Grammar_and_types")}}
diff --git a/files/id/web/javascript/guide/loops_and_iteration/index.html b/files/id/web/javascript/guide/loops_and_iteration/index.html index 7fbb416c43..506b033350 100644 --- a/files/id/web/javascript/guide/loops_and_iteration/index.html +++ b/files/id/web/javascript/guide/loops_and_iteration/index.html @@ -1,7 +1,8 @@ --- title: Loops and iteration -slug: Web/JavaScript/Panduan/Loops_and_iteration +slug: Web/JavaScript/Guide/Loops_and_iteration translation_of: Web/JavaScript/Guide/Loops_and_iteration +original_slug: Web/JavaScript/Panduan/Loops_and_iteration ---
{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide/Control_flow_and_error_handling", "Web/JavaScript/Guide/Functions")}}
diff --git a/files/id/web/javascript/guide/numbers_and_dates/index.html b/files/id/web/javascript/guide/numbers_and_dates/index.html index e9681b2adf..81ff248515 100644 --- a/files/id/web/javascript/guide/numbers_and_dates/index.html +++ b/files/id/web/javascript/guide/numbers_and_dates/index.html @@ -1,7 +1,8 @@ --- title: Numbers and dates -slug: Web/JavaScript/Panduan/Numbers_and_dates +slug: Web/JavaScript/Guide/Numbers_and_dates translation_of: Web/JavaScript/Guide/Numbers_and_dates +original_slug: Web/JavaScript/Panduan/Numbers_and_dates ---
{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide/Expressions_and_Operators", "Web/JavaScript/Guide/Text_formatting")}}
diff --git a/files/id/web/javascript/guide/working_with_objects/index.html b/files/id/web/javascript/guide/working_with_objects/index.html index 4449732e61..4baf443489 100644 --- a/files/id/web/javascript/guide/working_with_objects/index.html +++ b/files/id/web/javascript/guide/working_with_objects/index.html @@ -1,8 +1,8 @@ --- title: Bekerja dengan objek -slug: Web/JavaScript/Panduan/Working_with_Objects +slug: Web/JavaScript/Guide/Working_with_Objects tags: - - 'I10n:priority' + - I10n:priority - JavaScript - Konstruktor - Membandingkan objek @@ -11,6 +11,7 @@ tags: - Pemula - dokumen translation_of: Web/JavaScript/Guide/Working_with_Objects +original_slug: Web/JavaScript/Panduan/Working_with_Objects ---
{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide/Regular_Expressions", "Web/JavaScript/Guide/Details_of_the_Object_Model")}}
diff --git a/files/id/web/javascript/inheritance_and_the_prototype_chain/index.html b/files/id/web/javascript/inheritance_and_the_prototype_chain/index.html index 49a0100ed8..851bcbbb21 100644 --- a/files/id/web/javascript/inheritance_and_the_prototype_chain/index.html +++ b/files/id/web/javascript/inheritance_and_the_prototype_chain/index.html @@ -1,7 +1,8 @@ --- title: Inheritance dan prototype chain -slug: Web/JavaScript/Inheritance_dan_prototype_chain +slug: Web/JavaScript/Inheritance_and_the_prototype_chain translation_of: Web/JavaScript/Inheritance_and_the_prototype_chain +original_slug: Web/JavaScript/Inheritance_dan_prototype_chain ---
{{jsSidebar("Advanced")}}
diff --git a/files/id/web/javascript/javascript_technologies_overview/index.html b/files/id/web/javascript/javascript_technologies_overview/index.html index adb6ec5a68..c988092b23 100644 --- a/files/id/web/javascript/javascript_technologies_overview/index.html +++ b/files/id/web/javascript/javascript_technologies_overview/index.html @@ -1,7 +1,8 @@ --- title: Ikhtisar Teknologi JavaScript -slug: Web/JavaScript/sekilas_teknologi_JavaScript +slug: Web/JavaScript/JavaScript_technologies_overview translation_of: Web/JavaScript/JavaScript_technologies_overview +original_slug: Web/JavaScript/sekilas_teknologi_JavaScript ---
{{JsSidebar("Introductory")}}
diff --git a/files/id/web/javascript/reference/operators/function/index.html b/files/id/web/javascript/reference/operators/function/index.html index 5366891a5c..7fa9564333 100644 --- a/files/id/web/javascript/reference/operators/function/index.html +++ b/files/id/web/javascript/reference/operators/function/index.html @@ -1,12 +1,13 @@ --- title: ungkapan fungsi -slug: Web/JavaScript/Reference/Operators/fungsi +slug: Web/JavaScript/Reference/Operators/function tags: - Fungsi - JavaScript - Operator - Ungkapan Utama translation_of: Web/JavaScript/Reference/Operators/function +original_slug: Web/JavaScript/Reference/Operators/fungsi ---
{{jsSidebar("Operators")}}
diff --git a/files/id/web/javascript/reference/statements/function/index.html b/files/id/web/javascript/reference/statements/function/index.html index 8ac13d31af..bd6b665d2e 100644 --- a/files/id/web/javascript/reference/statements/function/index.html +++ b/files/id/web/javascript/reference/statements/function/index.html @@ -1,11 +1,12 @@ --- title: Deklarasi Fungsi -slug: Web/JavaScript/Reference/Statements/fungsi +slug: Web/JavaScript/Reference/Statements/function tags: - JavaScript - Pernyataan - Statement translation_of: Web/JavaScript/Reference/Statements/function +original_slug: Web/JavaScript/Reference/Statements/fungsi ---
{{jsSidebar("Statements")}}
-- cgit v1.2.3-54-g00ecf