Viết phản hồi
Bài học 24 trên 47 trong khóa học Mạng máy tính với terminal của Coddy.
Bạn đã đọc rất nhiều phản hồi. Giờ hãy viết một phản hồi.
nc -l lắng nghe trên một cổng, và mọi thứ bạn đưa vào đầu vào của lệnh này sẽ được gửi đến máy khách đầu tiên kết nối. Nhờ vậy, bạn trở thành máy chủ mà không cần đến máy chủ web:
printf 'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhand written' | nc -l -p 9114 &Hãy xem cấu trúc này gồm những gì: một dòng trạng thái, một header, một dòng trống, rồi đến phần nội dung. Đây chính xác là cấu trúc bạn đã đọc, được gõ ra bằng tay.
Giờ đây, mọi thứ giao tiếp qua HTTP đều sẽ chấp nhận nó. Trỏ curl đến cổng đó, bạn sẽ nhận được mã 200 thông thường cùng phần nội dung text/plain, vì đó là tất cả những gì máy chủ web làm: ghi văn bản theo định dạng này.
Mẹo này thực sự hữu ích trong công việc. Khi cần xem thứ gì đó gửi cho bạn những gì, hãy đặt một nc -l trên đường đi của nó rồi đọc yêu cầu mà nó gửi.
Thử thách
Chuyên giaTự tạo máy chủ.
Dùng nc -l trên cổng 9114 để gửi phản hồi có dòng trạng thái là HTTP/1.1 200 OK, tiêu đề Content-Type: text/plain và phần thân chỉ gồm hand written. Sau đó, dùng curl để lấy phản hồi và in phần thân ra.
Đầu ra dự kiến:
hand writtenDùng
printfvới ký tự xuống dòng\r\nvà nhớ chừa một dòng trống trước phần thân.
Tự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Mạng máy tính với terminal
5Tự xử lý HTTP
Cấu tạo của một yêu cầuPhương thức yêu cầuMã trạng tháiHeader phản hồiViết phản hồiÔn tập: kiến thức cơ bản về HTTPTự luyện tập: Playground Terminal