มี ที่ นี่

พล ส้ม's Blog

Posts Tagged ‘http’

HTTP Protocol

No Comments »

February 24th, 2009 Posted 10:59 am

HTTP Protocol นั้นมีการใช้งานกันอย่างแพร่หลาย มีคนใช้ HTTP Protocol ทุกวัน ผ่าน internet

บางคนนั้นอาจจะยังไม่รู้จัก ว่า HTTP Protocol นั้นคืออะไร แล้วมันอยู่ตรงใหน ใช้งานอย่างไร

คำตอบง่ายของคนใช้คือไม่ต้องรู้หรอกว่าใช้งานอย่างไร เพราะ HTTP Protocol นั้น คนใช้เองไม่ต้องมาจดจ่ออยู่กับพวกนี้ แต่จะมีโปรแกรมสำหรับจัดการอยู่แล้ว ซึ่งก็คือ Browser นั่นเอง

มาถึงตรงนี้ร้อง อ๋อ กันแทบทุกคน หุหุ

ปกติแล้วการใช้งาน HTTP Protocol นั้นจะอยู่ที่ port 80 ซึ่งเป็นมาตราฐานที่ใช้งานกัน ถ้าคุณพิมพ์ http://www.meteenee.com นั่นแหละคุณได้ใช้ HTTP Protocol ติดต่อมาที่ www.meteenee.com

ถ้าคุณพิมพ์ ว่า http://www.meteenee.com:8080 หมายความว่า คุณได้ใช้ HTTP Protocol ติดต่อมาที่ www.meteenee.com ที่ port 8080 ถ้าไม่พิมพ์ แบบ แบบแรก จะหมายถึง port 80 ซึ่งเป็น มาตราฐานนั่นเอง

.

ในฐานนะที่เรานั้นเป็นโปรแกรมเมอร์ และยังเขยน web ซะด้วย การรู้จักกับ HTTP Protocol เป็นอย่างดี จะทำให้เข้าใจการเขียนโปรแกรมได้มากขึ้นไปอีก

HTTP Protocol นั้นจะเป็นการติดต่อสื่อสารกันระหว่าง server กับ client โดยผ่านรูปแบบ ของ Protocol นี้ซึ่งมีรูปแบบคือ HTTP HEADER กับ Body (เอาแบบง่ายๆ ความจริงเยอะกว่านี้มาก ดูที่นี่ได้) โดย Client จะส่ง header ไปบอกว่า ต้องการ page อะไร แล้ว server ก็จะส่งข้อมูลกลับมา

ไอ้ข้อมูลที่กลับมาเนี่ยแหละ มันคือโปรแกรมที่เราเขียนขึ้นมา (เราเขียนโปรแกรมไว้ที่ server นี่นา) เราสามารถตอบอะไรกลับไปให้กลับ client ที่ requrest เข้ามาได้ไปดูกัน

ที่บอกไปแล้วว่ามันมี header กับ body ในส่วนของ header นั้น เราจะมองไม่เห็นเพราะตัวที่ทำการแสดงผล(Browser) ไม่แสดงให้เราเห็น แต่จะเป็น action ของ Browser เอง เช่น 404 page not founf เป็นต้น

แล้วมันรู้ได้ไงว่า page not found ในส่วนนี้ server จะเป็นตัวบอก โดยบอกผ่าน http header นั่นเอง

.

ใน http header นั้นจะมี code สำหรับการ response อยู่ว่า จะ response แบบใดบ้าง เลยเอา list มาให้ดู จากที่นี่

  • 100 Continue
  • 101 Switching Protocols
  • 102 Processing (WebDAV)
  • 122 Request-URI too long
  • 200 OK
  • 201 Created
  • 202 Accepted
  • 203 Non-Authoritative Information (since HTTP/1.1)
  • 204 No Content
  • 205 Reset Content
  • 206 Partial Content
  • 207 Multi-Status (WebDAV)
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Found
  • 303 See Other
  • 304 Not Modified
  • 305 Use Proxy
  • 306 Switch Proxy
  • 307 Temporary Redirect
  • 400 Bad Request
  • 401 Unauthorized
  • 402 Payment Required
  • 403 Forbidden
  • 404 Not Found
  • 405 Method Not Allowed
  • 406 Not Acceptable
  • 407 Proxy Authentication Required
  • 408 Request Timeout
  • 409 Conflict
  • 410 Gone
  • 411 Length Required
  • 412 Precondition Failed
  • 413 Request Entity Too Large
  • 414 Request-URI Too Long
  • 415 Unsupported Media Type
  • 416 Requested Range Not Satisfiable
  • 417 Expectation Failed
  • 418 I’m a teapot
  • 422 Unprocessable Entity (WebDAV)
  • 423 Locked (WebDAV)
  • 424 Failed Dependency (WebDAV)
  • 425 Unordered Collection
  • 426 Upgrade Required
  • 449 Retry With
  • 450 Blocked
  • 500 Internal Server Error
  • 501 Not Implemented
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout
  • 505 HTTP Version Not Supported
  • 506 Variant Also Negotiates
  • 507 Insufficient Storage (WebDAV)
  • 509 Bandwidth Limit Exceeded (Apache bw/limited extension)
  • 510 Not Extended

จะเห็นได้ว่า code แต่ละตัวนั้นเยอะจิงๆ เอิ๊กๆ ไม่เห็นต้องเห็นเลย

แต่ความจริงแล้วก็จำแนกได้เป็น 5 กลุ่มใหญ่ ตามตัวเลขตัวแรกนั่นเอง

โดย group ที่ขึ้นต้อนด้วย
1xx หมายถึง Informational
2xx หมายถึง Success
3xx หมายถึง Redirection
4xx หมายถึง Client Error
5xx หมายถึง Server Error

ปกติแล้วถ้ารันเว็บได้ปกติ code ที่จะตอบลับมาคือ 200 เวลาที่เราบอกว่า เรา redirect ก็คือเราแก้ http header จาก 200 เป็น 3xx นั่นเอง โดย redirect ที่ใช้คือ 301

เวลาเขียนใน php ก็เลยต้องบเขียนว่า

header("Location: /foo.php",TRUE,301);

code เอามาจาก http://th2.php.net/manual/en/function.header.php

ยังไงล่ะ พอแค่นี้ละกัน ทำงานต่อ

Tags: , ,
Posted in linux, php

วิธี install http mysql php php-mysql ด้วย yum

No Comments »

February 8th, 2008 Posted 1:40 am

yum เป็นคำสั่งที่ง่ายสำหรับการ install remove package ของ Readhat ซึ่งสามารถ install ให้เองและ Solve Dependency เองได้ด้วย ทำให้ง่ายต่อการใช้มากๆ โดยในฝั่งของ Ubantu ก็มี คำสั่้ง apt-get ใช้มีความสามารถคล้ายๆ กับ yum

การ install httpd(apache), mysql server, php , php-mysql นั้นใช้คำสั่งเดียวง่ายๆคือ

yum -y install httpd php mysql mysql-server mysql-devel php-mysql
chgrp -R mysql /var/lib/mysql
chmod -R 770 /var/lib/mysql
service mysqld start
service httpd start

ง่ายมะ

Tags: , , , , ,
Posted in linux, php