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  
100 Continue
101 Switching protocols
102 Processing
103 Early Hints
   
2xx Succesful  
200 OK
201 Created
202 Accepted
203  Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status
208 Already Reported
226 IM Used
   
3xx Redirection  
300 Multiple Choices
301 Moved Permanently
302 Found (Previously “Moved Temporarily”)
303 See Other
304 Not Modified
305 Use Proxy
306 Switch Proxy
307 Temporary Redirect
308 Permanent Redirect
   
4xx Client Error  
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 Payload Too Large
414 URI Too Long
415 Unsupported Media Type
416 Range Not Satisfiable
417 Expectation Failed
418 I’m a Teapot
421 Misdirected Request
422 Unprocessable Entity
423 Locked
424 Failed Dependency
425 Too Early
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
451 Unavailable For Legal Reasons
   
5xx Server Error  
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
508 Loop Detected
510 Not Extended
511 Network 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