
HTTP Client
http.Client, request, timeout, transport, redirect, cookie, custom header
1Sự khác biệt chính giữa http.Get và http.Client.Get là gì?
Sự khác biệt chính giữa http.Get và http.Client.Get là gì?
Câu trả lời
http.Get sử dụng một HTTP client mặc định (http.DefaultClient) không cung cấp khả năng tùy chỉnh, trong khi http.Client.Get cho phép cấu hình các tham số như timeout, chính sách redirect hoặc transport tùy chỉnh. Trong môi trường production, nên tạo một HTTP client tùy chỉnh để kiểm soát hành vi của request và tránh bị chặn vô thời hạn.
2Điều gì xảy ra nếu http.Client.Timeout không được thiết lập?
Điều gì xảy ra nếu http.Client.Timeout không được thiết lập?
Câu trả lời
Nếu không có timeout rõ ràng, HTTP client sẽ chờ phản hồi của server vô thời hạn, điều này có thể chặn ứng dụng nếu server không phản hồi. Timeout mặc định là 0, nghĩa là không giới hạn thời gian. Luôn thiết lập một timeout hợp lý trong production để tránh các goroutine bị chặn và rò rỉ tài nguyên.
3Làm thế nào để thêm custom header vào một request HTTP?
Làm thế nào để thêm custom header vào một request HTTP?
Câu trả lời
Custom header được thêm thông qua http.Request.Header.Set() hoặc Header.Add() sau khi tạo request bằng http.NewRequest. Phương thức Set thay thế các giá trị hiện có trong khi Add thêm một giá trị mới cho cùng một key. Cách tiếp cận này cần thiết cho việc xác thực, đàm phán nội dung hoặc theo dõi request với các định danh tùy chỉnh.
Tại sao việc gọi response.Body.Close() lại quan trọng?
Phương thức HTTP nào cho phép gửi dữ liệu JSON đến server?
+15 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Go khác
Kiến thức cơ bản về Go
Cấu trúc dữ liệu Go
Interface trong Go
Xử lý lỗi
Cơ bản về Goroutine
Channels
Go Modules
Máy chủ HTTP
Mã hóa JSON
Database/SQL
Gói context
Testing
Các mẫu Concurrency
Primitive đồng bộ hóa
Framework web Go
Thiết kế API REST
gRPC
Reflection
Quản lý bộ nhớ
Tối ưu hóa hiệu năng
Generics
Go Design Patterns
Microservices
Bảo mật và Xác thực
Docker & Containerization
Kubernetes Basics
Go Nâng cao
Phát triển CLI
Nắm vững Go cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí