HTTP Request và HTTP Response (series HTTP & HTTPS)

Ở phần trước chúng ta đã tìm hiểu qua về http. Ở bài viết này chúng ta sẽ tìm hiểu chi tiết về request và response của http https://viblo.asia/p/http-la-gi-series-http-https-maGK7rv95j2 HTTP Request HTTP request là máy khách gửi và yêu cầu dữ liệu đến máy chủ bằng một phương thức như GET hoặc POST. Hành vi

Ở phần trước chúng ta đã tìm hiểu qua về http. Ở bài viết này chúng ta sẽ tìm hiểu chi tiết về request và response của http
https://viblo.asia/p/http-la-gi-series-http-https-maGK7rv95j2

HTTP Request

HTTP request là máy khách gửi và yêu cầu dữ liệu đến máy chủ bằng một phương thức như GET hoặc POST.
Hành vi của một trang web thường sẽ khác nhau tùy thuộc vào việc bạn có đã đăng nhập hay chưa.
Để truy cập máy chủ web, máy khách kết nối với cổng TCP 80 (443 cho HTTPS) trên máy chủ. Sau đó, nó sử dụng kết nối đó để gửi request đến máy chủ.

<img title=’image.png’ alt=’image’ src=’/attachments/62644885-41c1-4be5-9b00-1d1d7dee2527′ width=”500″ data-meta='{“width”:500,”height”:271}’>

Phương thức HTTP

Phương thức này là loại yêu cầu HTTP và được mô tả trong Request-line.
Có các loại phương thức sau:

Phương thức Ý nghĩa
GET Dùng để lấy thông tin từ sever theo URI đã cung cấp
HEAD Response trả về không có body, chỉ có header
POST Gửi thông tin tới sever thông qua các form http
PUT Ghi đè tất cả thông tin của đối tượng với những gì được gửi lên
PATCH Ghi đè các thông tin được thay đổi của đối tượng
DELETE Xóa thông tin trên server
CONNECT Thiết lập một kết nối tới server theo URI
OPTIONS Mô tả các tùy chọn giao tiếp cho resource
TRACE Thực hiện một bài test loop – back theo đường dẫn đến resource

Phương thức thường được sử dụng là get, post, put, delete

Phương thức GET

  • Đặc trưng
    • Chuỗi truy vấn sẽ được hiển thị trong trường URL của trình duyệt của bạn.
      • ex: user=jhon&pass=java
    • Chuỗi truy vấn không thích hợp để gửi một lượng lớn dữ liệu.
  • Dưới đây là thành phần của 1 request
    <img title=’image.png’ alt=’image’ src=’/attachments/dc8a3332-ead6-4e55-b813-93e342f5da41′ width=”800″ data-meta='{“width”:800,”height”:380}’>

Phương thức POST

  • Đặc trưng
    • POST có thể gửi dữ liệu lớn.
    • Nội dung đầu vào nằm trong phần “message body” và không được hiển thị trong URL của trình duyệt như GET.
    • Tuy nhiên, “message body” có thể xác nhận bằng cách phân tích, vì vậy nó không an toàn về mặt bảo mật.
      <img title=’image.png’ alt=’image’ src=’/attachments/66953f60-0d39-4085-99b8-9881dc9fec8c’ width=”800″ data-meta='{“width”:800,”height”:455}’>

HTTP header fields

  • là những thông tin mà máy khách và máy chủ có thể chuyển bổ sung trong các request và response.
Tên field Ý nghĩa
WWW-Authenticate Xác định phương thức xác thực sẽ được sử dụng cho URL được truy cập
Host Tên máy chủ đích và tên DNS
User-Agent Hiển thị thông tin về loại trình duyệt và hệ điều hành được người dùng sử dụng
Referer Hiển thị địa chỉ của trang web trước đó
If-Modified-Since Thông tin được lưu trữ dưới dạng “bộ nhớ cache cục bộ” của trình duyệt web nhưng sẽ chuyển tiếp nếu trang web được cập nhật hoặc thay đổi sau ngày và giờ đã chỉ định
Clear-Site-Data Xóa dữ liệu đã lưu trữ (cookie, bộ nhớ, bộ nhớ cache, v.v.)
Accept Thông báo cho máy chủ về loại dữ liệu bạn muốn nhận
Cookie Có một cookie HTTP được gửi từ máy chủ và được lưu trữ trong trình duyệt web của bạn
Set-Cookie Gửi cookie từ máy chủ đến trình duyệt web của bạn
Content-Disposition Nếu thấy thuộc tính này, browser sẽ mở hộp thoại cho download file
Content-Type chỉ định kiểu MIME kiểu tài liệu, ví dụ như là text/html, image/gif, application/pdf,…
Content-Length kích thước của response body, ví dụ như browser dựa vào thông tin này để biết được tiến độ của việc download file.

HTTP Response

  • là phản hồi mà máy chủ đã xử lý dữ liệu được gửi từ máy khách và trả lại cho máy khách. Khi bạn gửi yêu cầu đến máy chủ, quá trình xử lý theo phương thức được thực hiện trên máy chủ và kết quả xử lý sẽ được trả về.
    <img title=’image.png’ alt=’image’ src=’/attachments/4a41ddc9-1016-401b-a57f-c272b57c354a’ width=”704″ data-meta='{“width”:704,”height”:267}’>

  • Status line: Phiên bản HTTP và 200 cho biết rằng quá trình xử lý của máy chủ web đã thành công.

  • Response Headers: Có thông tin chi tiết về response.

  • Có 1 dòng trống để phân tách header và body

  • Body: chứa HTML, hình ảnh, v.v.

Tài liệu tham khảo:

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ