Ăn cát bê tông: thực hành, thực hành và thực hành

Giao thức web HTTP hoạt động như thế nào?

Nắm được cách hoạt động của giao thức HTTP giúp bạn truy cập web tốt hơn, sử dụng trình duyệt web như một tay chơi. Nếu bạn là người muốn tự tay làm trang web hoặc hoạt động trong lĩnh vực thiết kế web, lập trình web thì giao thức HTTP là kiến thức nền cần nắm để website của bạn mượt mà, an toàn.

Giao thức là gì? Giao thức HTTP là gì?

Giao thức

Giao thức (protocol) ở là giao thức truyền thông tin, hiểu đơn giản đó là cách thức, quy tắc để dựa trên đó 2 thiết bị mạng làm việc với nhau. Theo ngôn ngữ đời thường hai người nói chuyện dựa trên ngôn ngữ, các cử chỉ điệu bộ và quy tắc xã giao,… Những cái này được gọi chung là giao thức.

Giao thức HTTP

Trong thế giới World Wide Web (gọi tắc là Web) trình duyệt web và máy chủ web làm việc với nhau dựa trên giao thức HTTP (Hypertext Transfer Protocol – giao thức truyền tin siêu văn bản).

Ảnh động giao thức HTTP
Giao thức HTTP hoạt động khi người dùng duyệt web

Hình ảnh trên minh họa cơ bản những gì diễn ra khi bạn truy cập một trang web:

  1. Client (thường là trình duyệt web) gửi một yêu cầu (request) đến máy phục vụ web (web server, hoặc gọi tắt là server) để yêu cầu một trang web. Nếu bạn chú ý nhìn vào thanh địa chỉ trình duyệt sẽ thấy trang web được yêu cầu nằm trong địa chỉ URL.
  2. Web server tiếp nhận yêu cầu và tìm kiếm trong số những file trong thư mục web docs. Nếu tìm thấy nó sẽ phản hồi (Response trên hình), tức gửi trả lại yêu cầu với 1 trang web kèm với mã trạng thái (status code) 200 hoặc 2xx để client biết yêu cầu được đáp ứng thanh công. Nếu không tìm thấy hoặc có trục trặc nào đó thì sẽ gửi status code tương ứng về cho trình duyệt để hiện thông báo lên cho người dùng. Bạn có từng thấy “The HTTP 404 Not Found”, đây là lỗi không tìm thấy trang web.
  3. Việc gửi yêu cầu (request) và phản hồi (response) được thực hiện qua một kết nối mạng trên nền giao thức mạng thuộc lớp thấp hơn, giao thức này là giao thức TCP.

Đoạn trên mô tả HTTP với thiết kế ở thuở ban đầu của nó. Và những cái này về cơ bản vẫn còn nói lên được quá trinh giao tiếp của trình duyệt web với máy chủ web để bạn có thể truy cập web.

Mã trạng thái HTTP

Mã trạng tháiÝ nghĩa
1xx Informational 
100Continue
101Switching protocols
102Processing
103Early Hints
  
2xx Succesful 
200OK
201Created
202Accepted
203 Non-Authoritative Information
204No Content
205Reset Content
206Partial Content
207Multi-Status
208Already Reported
226IM Used
  
3xx Redirection 
300Multiple Choices
301Moved Permanently
302Found (Previously “Moved Temporarily”)
303See Other
304Not Modified
305Use Proxy
306Switch Proxy
307Temporary Redirect
308Permanent Redirect
  
4xx Client Error 
400Bad Request
401Unauthorized
402Payment Required
403Forbidden
404Not Found
405Method Not Allowed
406Not Acceptable
407Proxy Authentication Required
408Request Timeout
409Conflict
410Gone
411Length Required
412Precondition Failed
413Payload Too Large
414URI Too Long
415Unsupported Media Type
416Range Not Satisfiable
417Expectation Failed
418I’m a Teapot
421Misdirected Request
422Unprocessable Entity
423Locked
424Failed Dependency
425Too Early
426Upgrade Required
428Precondition Required
429Too Many Requests
431Request Header Fields Too Large
451Unavailable For Legal Reasons
  
5xx Server Error 
500Internal Server Error
501Not Implemented
502Bad Gateway
503Service Unavailable
504Gateway Timeout
505HTTP Version Not Supported
506Variant Also Negotiates
507Insufficient Storage
508Loop Detected
510Not Extended
511Network Authentication Required

Qua thời gian, vì sự hữu ích của Web, người ta đã bổ sung thêm nhiều thứ để Web trở nên tiện ích hơn, làm được nhiều thứ hơn là chỉ gửi về một siêu văn bản hầu như chỉ có chữ và những hyperlink.

Ví dụ, khi tiếp nhận request, thay vì web server chỉ trả về 1 trang HTML như ngày xưa, ngày nay khi tiếp nhật request web server sẽ xem client đang yêu cầu là file tĩnh cố định như hình ảnh, file JS, CSS hay là file dạng động biết bằng ngôn ngữ lập trình như PHP, ASP .NET, Python, Java,… để có thể “gom nguyên vật liệu” tạo ra một trang HTML có tài nguyên nhúng về cho client.

Chi tiết hơn chút xíu về HTTP

Bài viết này phục vụ người muốn tự học để trạo trang web nên chúng tôi viết thêm chút chi tiết kỹ thuật để các bạn nắm được kiến thức nền, có như vậy mới có thể vững tin để làm ra những trang web hữu ích.

, nhưng được lược bỏ các chi tiết. Chúng tôi sẽ giải thích để bạn nắm.

Khi bạn mở trình duyệt web lên, thông thường cách người dùng là trình duyệt đã mặc định sẵn một công cụ tìm kiếm, bạn gõ từ khóa vào đó rồi click để xem.

Lên đầu trang