-
Notifications
You must be signed in to change notification settings - Fork 1
/
Nate158Layerfile
115 lines (92 loc) · 9.48 KB
/
Nate158Layerfile
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
FROM vm/ubuntu:18.04
# install docker-ce (from tutorial for ubuntu)
RUN apt-get update && \
apt-get install apt-transport-https ca-certificates curl software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" && \
apt-get update && \
apt install docker-ce
# install docker compose
RUN curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
# copy the root (i.e., repository root) to /root in the runner
COPY / /root
# TODO: log in to docker hub
# See https://webapp.io/docs/advanced-workflows#logging-in-to-docker to learn how to log in to docker
RUN REPEATABLE docker-compose build --parallel
RUN docker-compose up -d
# TODO: change port to whatever is configured in your docker-compose.yml
EXPOSE WEBSITE localhost:8000
1.1วัตถุประสงค์
Hypertext Transfer Protocol (HTTP) เป็นแอปพลิเคชันระดับ
โปรโตคอลสำหรับการเผยแพร่ การทำงานร่วมกัน ข้อมูลไฮเปอร์มีเดีย
ระบบต่างๆ HTTP ถูกใช้โดย World-Wide Web global
ความคิดริเริ่มด้านข้อมูลตั้งแต่ปี 1990 HTTP เวอร์ชันแรก
เรียกว่า HTTP/0.9 เป็นโปรโตคอลอย่างง่ายสำหรับการถ่ายโอนข้อมูลดิบ
ผ่านอินเทอร์เน็ต HTTP/1.0 ตามที่กำหนดโดยRFC 1945 [ 6 ] ปรับปรุงแล้ว
โปรโตคอลโดยให้ข้อความอยู่ในรูปแบบ MIME-like
ข้อความที่มี metaformation เกี่ยวกับข้อมูลที่ถ่ายโอนและ
ตัวแก้ไขในความหมายคำขอ/การตอบกลับ อย่างไรก็ตาม HTTP/1.0 ทำ
ไม่คำนึงถึงผลกระทบของลำดับชั้นอย่างเพียงพอ
พร็อกซี่ การแคช ความจำเป็นในการเชื่อมต่อแบบถาวร และ virtual
เจ้าภาพ นอกจากนี้ การแพร่ขยายของการปฏิบัติที่ไม่สมบูรณ์
แอปพลิเคชันที่เรียกตัวเองว่า "HTTP/1.0" จำเป็นต้องมี a
เวอร์ชันโปรโตคอลเปลี่ยนเพื่อสองแอปพลิเคชันการสื่อสาร
เพื่อกำหนดความสามารถที่แท้จริงของกันและกัน
ข้อกำหนดนี้กำหนดโปรโตคอลที่เรียกว่า "HTTP/1.1"
โปรโตคอลนี้มีข้อกำหนดที่เข้มงวดมากกว่า HTTP/1.0 in
เพื่อให้แน่ใจว่าการใช้งานคุณลักษณะต่างๆ เป็นไปอย่างน่าเชื่อถือ
ระบบสารสนเทศที่ใช้งานได้จริงต้องการฟังก์ชันที่มากกว่าความเรียบง่าย
การดึงข้อมูล รวมถึงการค้นหา การอัปเดตส่วนหน้า และคำอธิบายประกอบ HTTP
อนุญาตให้มีชุดวิธีการปลายเปิดที่ระบุวัตถุประสงค์ของa
ขอ. มันสร้างขึ้นจากระเบียบวินัยของการอ้างอิงโดย
Uniform Resource Identifier (URI) [ 3 ][20] เป็นตำแหน่ง (URL) [ 4 ] หรือ
ชื่อ (URN) สำหรับระบุทรัพยากรที่เมธอดจะเป็น
สมัครแล้ว. ข้อความถูกส่งผ่านในรูปแบบที่คล้ายกับที่ใช้โดย
อินเทอร์เน็ตเมลตามที่กำหนดโดย Multipurpose Internet Mail Extensions
(MIME).
HTTP ยังใช้เป็นโปรโตคอลทั่วไปสำหรับการสื่อสารระหว่าง
ตัวแทนผู้ใช้และพร็อกซี/เกตเวย์ไปยังระบบอินเทอร์เน็ตอื่นๆ รวมถึง
ที่รองรับโดย SMTP [ 16 ], NNTP [ 13 ], FTP [ 18 ], Gopher [ 2 ],
และ WAIS [ 10 ] โปรโตคอล ด้วยวิธีนี้ HTTP จะอนุญาตไฮเปอร์มีเดียพื้นฐาน
เข้าถึงทรัพยากรจากแอพพลิเคชั่นที่หลากหลายURI = ( absoluteURI |ญาติURI ) [ ส่วนย่อย "#" ]
AbsoluteURI = โครงการ ":" *( uchar | สงวนไว้ )
ญาติURI = net_path | abs_path | rel_path
net_path = "//" net_loc [ abs_path ]
abs_path = "/" rel_path
rel_path = [ เส้นทาง ] [ ";" พารามิเตอร์ ] [ "?" แบบสอบถาม ]
เส้นทาง = fsegment *( ส่วน "/" )
fsegment = 1*pchar
เซ็กเมนต์ = *pchar
params = param *( ";" พารามิเตอร์ )
พารามิเตอร์ = *( pchar | "/" )
RFC 2068 HTTP/1.1 มกราคม 1997
แบบแผน = 1*( ALPHA | DIGIT | "+" | "-" | "." )
net_loc = *( pchar | ";" | "?" )
แบบสอบถาม = *( uchar | สงวนไว้ )
แฟรกเมนต์ = *( uchar | สงวนไว้ )
pchar = uchar | ":" | "@" | "&" | "=" | "+"
uchar = ไม่จอง | หนี
ไม่จอง = ALPHA | DIGIT | ปลอดภัย | พิเศษ | ระดับชาติ
หนี = "%" HEX HEX
สงวนไว้ = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+"
พิเศษ = "!" | "*" | "'" | "(" | ")" | ","
ปลอดภัย = "$" | "-" | "_" | "."
ไม่ปลอดภัย = CTL | เอสพี | <<> | "#" | "%" | "<" | ">"
ชาติ = < OCTET ใด ๆ ยกเว้น ALPHA, DIGIT,
จอง พิเศษ ปลอดภัย และไม่ปลอดภัย>
สำหรับข้อมูลสรุปเกี่ยวกับไวยากรณ์ URL และความหมาย โปรดดูRFC 1738
[ 4 ] และRFC 1808 [ 11 ] BNF ด้านบนมีอักขระประจำชาติไม่ใช่
อนุญาตใน URL ที่ถูกต้องตามที่ระบุโดยRFC 1738เนื่องจากเซิร์ฟเวอร์ HTTP
ไม่ถูกจำกัดในชุดอักขระที่ไม่ได้จองที่อนุญาตให้
แสดงถึงส่วน rel_path ของที่อยู่ และพร็อกซี HTTP อาจ
ได้รับการร้องขอสำหรับยูริไม่ได้กำหนดโดยRFC 1738
โปรโตคอล HTTP ไม่ได้กำหนดลำดับความสำคัญใด ๆ เกี่ยวกับความยาวของ
URI เซิร์ฟเวอร์ต้องสามารถจัดการ URI ของทรัพยากรใด ๆ ที่พวกเขา
ให้บริการ และควรจะสามารถจัดการ URI ที่มีความยาวไม่จำกัดได้หาก
จัดเตรียมแบบฟอร์มตาม GET ที่สามารถสร้าง URI ดังกล่าวได้ เซิฟเวอร์
ควรส่งคืนสถานะ 414 (คำขอ-URI ยาวเกินไป) หาก URI ยาวกว่า
เกินกว่าที่เซิร์ฟเวอร์จะจัดการได้ (ดูหัวข้อ 10.4.15 )
หมายเหตุ: เซิร์ฟเวอร์ควรระมัดระวังเกี่ยวกับการขึ้นอยู่กับความยาวของ URI
สูงกว่า 255 ไบต์ เนื่องจากไคลเอนต์รุ่นเก่าหรือการใช้งานพร็อกซี่
อาจไม่รองรับความยาวเหล่านี้อย่างเหมาะสม