HTTP and HTML introduction and architecture

อย่างที่เรารู้กันว่า เราส่ง HTML ไปด้วย protocol HTTP โดย HTML นั้นจะถูกหุ้มด้วย HTTP header อีกทีหนึ่ง ซึ่งตัว header ที่ว่านี้ก็อาจจะแตกต่างกันไปเล็กน้อยแล้วแต่ HTTP method

เช่น Get request method


GET /select/selectBeerTaste.jsp?color=dark&taste=malty
HTTP/1.1 Host: www.wickedlysmart.com
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.4) Gecko/ 20030624 Netscape/7.1
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/ plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-aliv
e



หรือ Post request method

POST /advisor/selectBeerTaste.do HTTP/1.1
Host: www.wickedlysmart.com
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.4) Gecko/ 20030624 Netscape/7.1
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/ plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive


color=dark&taste=malty

ข้อแตกต่างของ get กับ post ที่เห็นได้ชัดๆ ก็คือ post จะสามารถมี body ได้ (บรรทัดสุดท้าย color=dark... คือส่วนของ body) โดย get method จะส่ง parameter ตามหลัง URL เลยทำให้ไม่สามารถส่งค่าที่มีความยาวมากๆ ได้ แต่ว่า post จะส่งโดยผ่าน body ทำให้มีความยาวได้ไม่จำกัด

นอกจาก post และ get แล้ว ยังมี HTTP method อื่นๆ อีก ดังนี้ HEAD, TRACE, OPTIONS, PUT,
DELETE และ CONNECT

ดูในส่วนของ request ไปแล้ว ทีนี้มาดูตัวอย่างของ response ที่ server ตอบกลับไปที่ client กันบ้าง


HTTP/1.1 200 OK
Set-Cookie: JSESSIONID=0AAB6C8DE415E2E5F307CF334BFCA0C1; Path=/testEL
Content-Type: text/html
Content-Length: 397 Date: Wed, 19 Nov 2003 03:25:40 GMT Server: Apache-Coyote/1.1 Connection: close
<html>
...
</html>



ด้านล่างก็เป็นส่วน body ของ respond ซึ่งโดยส่วนใหญ่ก็จะเป็น HTML ที่นำมาแสดงในหน้า browser กันนะเอง โดย browser จะอ่าน message ในส่วนของ body และตีความและแสดงให้เราเห็น ดังนั้นเราจึงมี HTML standard ที่กำหนดว่า tag อะไรจะต้องแสดงผลแบบไหน ซึ่ง browser แต่ละ version ก็จะมีการบอกไว้ว่าตัวนี้ comply กับ HTML version อะไร ก็คือเป็น standard version นะเอง

No comments:

Post a Comment