Mục lục[Ẩn giấu][Chỉ]
- 1. Bạn hiểu REST là gì?
- 2. Bạn hiểu REST API là gì?
- 3. Chính xác thì URI là gì?
- 4. Các đặc điểm của Dịch vụ Web RESTful là gì?
- 5. Các nguyên tắc hướng dẫn của REST là gì?
- 6. Đề cập đến các phương thức HTTP mà REST hỗ trợ.
- 7. Mô tả các hạn chế được đặt bởi một giao diện nhất quán.
- 8. Tài nguyên REST chính xác là gì?
- 9. JAX-RS có ý nghĩa gì đối với bạn?
- 10. Điều gì phân biệt AJAX và REST với nhau?
- 11. Bạn có thể liệt kê một số nhược điểm của dịch vụ web RESTful không?
- 12. Điều gì phân biệt các kỹ thuật PUT và POST với nhau?
- 13. Làm thế nào để bạn kiểm tra các dịch vụ web RESTful?
- 14. Mô tả một API REST trong thế giới thực.
- 15. Kiến trúc Microservice hoạt động như thế nào?
- 16. Bộ nhớ đệm chính xác là gì?
- 17. Mô tả trọng tải.
- 18. Phân biệt SOAP Vs REST?
- 19. Có thể sử dụng giao thức bảo mật lớp truyền tải (TLS) với REST không?
- 20. Các phương pháp Idempotent: chúng là gì? Làm thế nào nó áp dụng cho thế giới của các dịch vụ web RESTful?
- 21. Chức năng của Xác thực Cơ bản HTTP là gì?
- 22. Bạn có nghĩ GraphQL là lựa chọn tốt nhất để tạo kiến trúc microservice không?
- 23. Sự khác biệt chính giữa phương thức HTTP an toàn và idmpotent là gì?
- 24. JAX-RS API ngụ ý gì bởi các Lớp tài nguyên gốc RESTful?
- 25. Postman chính xác là gì, và tại sao nó được sử dụng?
- 26. Các API REST được bảo mật như thế nào?
- Kết luận
Sự phát triển của REST đã làm cho các API trở nên dễ tiếp cận một cách đáng kinh ngạc đồng thời cũng bộc lộ toàn bộ sức mạnh và tiềm năng của chúng. Các API REST dễ tạo và lưu vào bộ nhớ cache vì kiến trúc hướng tài nguyên của chúng.
Ngoài ra, trong suốt thời gian, RESTful API là tiền thân của những phát triển quan trọng khác như điện toán đám mây và thiết kế dựa trên dịch vụ vi mô.
Do đó, không có gì ngạc nhiên khi các nhà phát triển API REST ngày nay đang có nhu cầu vì cách họ cung cấp cho các doanh nghiệp sử dụng dịch vụ RESTful một lợi thế cạnh tranh. REST API là một xu hướng thiết kế phổ biến.
Nhiều công ty CNTT muốn có kiến thức REST API từ Nhà phát triển phần mềm và hỏi về nó trong các cuộc phỏng vấn kỹ thuật.
Dưới đây là một số câu hỏi phỏng vấn REST API điển hình nhất sẽ giúp bạn sẵn sàng cho các cuộc phỏng vấn tại các công ty khác nhau nếu bạn muốn làm việc trong lĩnh vực phát triển REST API.
1. Bạn hiểu REST là gì?
REST là một mô hình kiến trúc để thiết kế các ứng dụng dựa trên web dựa trên Giao thức truyền siêu văn bản (HTTP).
REST xác định các tiêu chuẩn nhất định mà các dịch vụ web phải đáp ứng để được coi là RESTful. Các khuyến nghị này đảm bảo rằng các yêu cầu và tài nguyên được truyền nhanh chóng và hiệu quả giữa máy khách và máy chủ bằng cách sử dụng các giao thức HTTP được chuẩn hóa.
2. Bạn hiểu REST API là gì?
Liên kết phần mềm với phần mềm được gọi là giao diện lập trình ứng dụng cho phép giao tiếp và chia sẻ dữ liệu giữa các chương trình độc lập khác. Ví dụ: một trang web tin tức có thể sử dụng API Twitter để tự động khám phá các tweet thích hợp và tích hợp chúng vào các câu chuyện tin tức.
Một API tuân thủ các nguyên tắc REST được gọi là API REST, đôi khi được gọi là API RESTful. Trong REST API, mỗi phần dữ liệu được xử lý như một tài nguyên và được cung cấp một danh tính tài nguyên tiêu chuẩn riêng biệt (URI).
Ví dụ: API Twitter làm cho mọi tweet trở thành một tài nguyên có thể truy xuất được và có sẵn cho khách hàng. API Twitter có thể được người dùng sử dụng để đăng tweet và thực hiện các tác vụ khác trên trang web.
3. Chính xác thì URI là gì?
A mạng máy tính tài nguyên có thể được đề cập đến bằng cách sử dụng URI hoặc định danh tài nguyên thống nhất. Nó phục vụ như một phương tiện để tách một tài nguyên này với một tài nguyên khác. Các nguồn có thể có hoặc có thể không trực tuyến.
Do cấu trúc tiêu chuẩn của chúng, các URI giúp việc kết nối với các loại tài nguyên khác nhau trở nên đơn giản. Vị trí hoặc tên của tài nguyên được bao gồm trong các URI cùng với một chuỗi ký tự.
URI được tạo thành từ một đường dẫn, lược đồ, truy vấn và các phần tử khác nhưng không bao gồm giao thức.
Sử dụng một giao thức, các URL (Bộ định vị tài nguyên thống nhất) được sử dụng để tìm tài nguyên trên internet hoặc có thể truy cập thông qua nó.
4. Các đặc điểm của Dịch vụ Web RESTful là gì?
- Mô hình Máy khách-Máy chủ là nền tảng của dịch vụ.
- Dịch vụ có thể truy cập tài nguyên thông qua sử dụng URI.
- Dịch vụ sử dụng Giao thức HTTP để lấy dữ liệu / tài nguyên, chạy truy vấn và thực hiện các tác vụ khác.
- Nhắn tin là tên của phương thức được sử dụng để giao tiếp giữa máy khách và máy chủ.
- Các dịch vụ này cũng có thể triển khai mô hình kiến trúc REST bằng cách sử dụng các dịch vụ SOAP.
- Để giảm bớt các cuộc gọi của máy chủ cho cùng một loại yêu cầu lặp đi lặp lại, các dịch vụ này cũng sử dụng ý tưởng về bộ nhớ đệm.
5. Các nguyên tắc hướng dẫn của REST là gì?
Các API REST phải đáp ứng năm tiêu chí:
Tách máy khách-máy chủ: Chỉ có thể sử dụng một loạt yêu cầu và câu trả lời để giao tiếp giữa máy khách và máy chủ. Chỉ máy khách và máy chủ mới có thể gửi yêu cầu và câu trả lời tương ứng. Ý tưởng đơn giản này cho phép cả hai bên hoạt động độc lập với nhau.
Giao diện thống nhất: Phải có một giao thức thống nhất cho tất cả các kết nối máy khách-máy chủ. Giao thức này cho REST là HTTP. Vì mỗi ứng dụng yêu cầu và gửi dữ liệu sử dụng cùng một ngôn ngữ nên giao diện nhất quán giúp việc tích hợp trở nên đơn giản hơn.
Không trạng thái: Máy chủ không lưu bất kỳ bản ghi nào về các yêu cầu hoặc câu trả lời trước đó trong giao tiếp không trạng thái. Mỗi yêu cầu và câu trả lời cung cấp tất cả các chi tiết cần thiết để hoàn thành trao đổi. Giao tiếp không trạng thái giúp tăng tốc độ, tiết kiệm bộ nhớ và giảm bớt căng thẳng cho máy chủ. Ngoài ra, nó tránh được khả năng yêu cầu không thành công do dữ liệu không đầy đủ.
Hệ thống phân lớp: Các máy chủ nằm giữa máy khách và máy chủ API được gọi là các lớp. Các máy chủ bổ sung này thực hiện nhiều dịch vụ khác nhau, chẳng hạn như phát hiện thư rác và tối ưu hóa tốc độ. Các lớp trong REST là mô-đun, có nghĩa là chúng có thể được thêm và xóa mà không ảnh hưởng đến giao tiếp giữa máy khách và máy chủ API.
Có thể lưu vào bộ nhớ cache: Khách hàng có thể lưu vào bộ nhớ cache bất kỳ tài nguyên nào để tăng tốc độ nếu câu trả lời của máy chủ cho biết tài nguyên có thể lưu vào bộ nhớ cache hay không.
Mã hóa theo yêu cầu: Đáp lại, một API có thể truyền mã máy tính thực thi cho khách hàng. Ứng dụng khách sau đó có thể chạy mã trên back end của chính nó.
6. Đề cập đến các phương thức HTTP mà REST hỗ trợ.
Các phương thức HTTP mà REST hỗ trợ là:
- GET: Phương thức này yêu cầu một tài nguyên tại URL được chỉ định. Không nên đưa vào nội dung yêu cầu vì nó sẽ bị bỏ qua. Nó có thể được lưu vào bộ nhớ cache cục bộ hoặc trên máy chủ.
- POST: Phương thức này gửi dữ liệu đến một dịch vụ để xử lý và dịch vụ thường sẽ trả về một tài nguyên mới hoặc đã thay đổi.
- PUT: Tài nguyên được cập nhật tại URL yêu cầu.
- XÓA: Tài nguyên bị xóa tại URL yêu cầu.
- Tùy chọn: Nó xác định các phương pháp được hỗ trợ.
- HEAD: Siêu dữ liệu của URL yêu cầu được trả lại.
7. Mô tả các hạn chế được đặt bởi một giao diện nhất quán.
Để tách máy khách khỏi máy chủ, cần có một giao diện nhất quán.
Để đạt được một giao diện nhất quán, cần có bốn ràng buộc sau:
- Nhận dạng tài nguyên: Yêu cầu của khách hàng phải sử dụng ID tài nguyên tiêu chuẩn để xác định tài nguyên (URI)
- Thao tác tài nguyên bằng cách sử dụng các biểu diễn này: Khách hàng có tất cả thông tin cần thiết để có thể thay đổi trạng thái tài nguyên khi họ nhận được biểu diễn tài nguyên từ máy chủ.
- Tin nhắn tự mô tả: Tin nhắn bao gồm tất cả siêu dữ liệu và thông tin khác cần thiết để người nhận hiểu chúng.
- Hypermedia làm công cụ trạng thái ứng dụng: Kênh giao tiếp máy khách-máy chủ là siêu phương tiện, chẳng hạn như HTML và máy khách không cần tài liệu dành riêng cho API để hiểu câu trả lời của máy chủ.
8. Tài nguyên REST chính xác là gì?
Tài nguyên là thành phần cơ bản của một dịch vụ web RESTful trong kiến trúc REST. Chúng bao gồm tất cả thông tin quan trọng mà ứng dụng khách API cần truy cập.
Bất kỳ loại tài nguyên nào, chẳng hạn như trang HTML, hình ảnh, video hoặc bất kỳ thứ gì khác cần thiết cho hoạt động API, đều có thể được truy cập thông qua máy chủ trong hệ thống máy khách-máy chủ.
Các tài nguyên được xác định bởi một Định danh Tài nguyên Đồng nhất. Văn bản, JSON hoặc XML là tất cả các trình bày tài nguyên được chấp nhận. Đã nói rằng, không có giới hạn về định dạng của bản đại diện.
9. JAX-RS có ý nghĩa gì đối với bạn?
Việc tạo các dịch vụ web RESTful bằng Java sẽ đơn giản hơn nhờ API Java cho các dịch vụ web RESTful, thường được gọi là JAX-RS. Các nhà phát triển có thể mô tả các tài nguyên và các hoạt động có thể được thực hiện trên chúng bằng cách sử dụng các chú thích được cung cấp.
10. Điều gì phân biệt AJAX và REST với nhau?
Ajax:
- Ajax là một nhóm công nghệ cho phép cập nhật động giao diện người dùng mà không cần phải tải lại trang.
- Ajax loại bỏ giao tiếp không đồng bộ giữa máy khách và máy chủ.
LÊN ĐỈNH:
- REST yêu cầu giao tiếp giữa máy chủ và máy khách.
- Việc sử dụng tài nguyên rất quan trọng đối với cấu trúc URL và mẫu yêu cầu / phản hồi được sử dụng bởi REST.
11. Bạn có thể liệt kê một số nhược điểm của dịch vụ web RESTful không?
Không thể cập nhật phiên vì các dịch vụ tuân theo khái niệm không trạng thái. (Máy khách chịu trách nhiệm chuyển id phiên trong suốt quá trình mô phỏng phiên.)
Các ràng buộc bảo mật không phải là cơ bản đối với REST. Các giao thức sử dụng nó kế thừa các biện pháp phòng ngừa bảo mật. Do đó, thận trọng trong khi áp dụng các biện pháp bảo mật, chẳng hạn như tích hợp xác thực dựa trên SSL / TLS, là điều quan trọng.
12. Điều gì phân biệt các kỹ thuật PUT và POST với nhau?
ĐẶT:
- Không có bộ nhớ cache cho các phản hồi PUT.
- Idempotent (nghĩa là nhiều yêu cầu sẽ mang lại cùng một kết quả)
- tải trọng của yêu cầu cập nhật hoặc thay thế tài nguyên đích.
BÀI ĐĂNG:
- Idempotent không (nghĩa là, nhiều yêu cầu sẽ mang lại bội số của cùng một tài nguyên)
- Máy chủ web xử lý tải trọng của yêu cầu dựa trên tài nguyên dự kiến.
- Nếu tiêu đề kiểm soát bộ đệm thích hợp được bao gồm, các câu trả lời POST có thể được lưu vào bộ nhớ đệm.
13. Làm thế nào để bạn kiểm tra các dịch vụ web RESTful?
Kiểm tra dịch vụ web RESTful có thể được hỗ trợ bởi một số công cụ, bao gồm cả Swagger và Postman. Việc kiểm tra các tham số yêu cầu như tham số truy vấn, tiêu đề và tiêu đề phản hồi có thể thực hiện được nhờ sự phong phú của các tính năng sau này.
Người đưa thư có thể được sử dụng để đưa ra yêu cầu tới các điểm cuối và hiển thị kết quả. Và XML và JSON có thể được tạo từ những câu trả lời này.
Postman và Swagger đều cung cấp các chức năng cực kỳ có thể so sánh được. Mặt khác, Swagger cũng cung cấp các khả năng như tài liệu điểm cuối.
14. Mô tả một API REST trong thế giới thực.
- Các trang web du lịch và bán vé có thể tận dụng thời gian bay và giá cả mà các hãng hàng không cung cấp thông qua API.
- Để các ứng dụng bản đồ và điều hướng (như Google Maps) sử dụng chúng, các đại lý giao thông công cộng thường công khai dữ liệu của họ theo thời gian thực thông qua API.
- Các ứng dụng thời tiết sử dụng các API mở trao đổi dữ liệu thời tiết để hiển thị thông tin thời tiết.
- Các nhà phát triển có thể truy cập dữ liệu bản đồ của Google Maps thông qua một số API được lưu trữ của nó. Các API này được các nhà phát triển sử dụng để nhúng bản đồ động vào các ứng dụng và trang web của họ.
15. Kiến trúc Microservice hoạt động như thế nào?
- Các yêu cầu được gửi bởi nhiều khách hàng bằng cách sử dụng các thiết bị khác nhau.
- Sau khi xác nhận danh tính của khách hàng, các nhà cung cấp danh tính cung cấp mã thông báo bảo mật.
- Các yêu cầu của khách hàng được quản lý bởi API Gateway.
- Tất cả tài liệu của hệ thống được bảo toàn dưới dạng nội dung tĩnh.
- Công cụ quản lý kiểm tra sự cân bằng của các dịch vụ trên các nút và bất kỳ lỗi nào.
- Khám phá đường truyền giữa các microservices được hỗ trợ bởi dịch vụ khám phá.
- Trung tâm dữ liệu và máy chủ proxy tạo nên hệ thống mạng phân tán được gọi là mạng phân phối nội dung.
- Các dịch vụ từ xa cung cấp khả năng truy cập thông tin từ xa.
16. Bộ nhớ đệm chính xác là gì?
Thực hành tạm thời giữ một bản sao của câu trả lời máy chủ ở đâu đó (chẳng hạn như bộ nhớ máy tính) để truy cập nó sau này nhanh hơn được gọi là bộ nhớ đệm.
Bộ nhớ đệm nâng cao tốc độ máy chủ khi sử dụng API REST bằng cách giảm số lượng công việc mà máy chủ phải thực hiện để đáp ứng yêu cầu. Các ứng dụng sử dụng API chạy nhanh hơn nhờ vào bộ nhớ đệm vì chúng không phải gửi yêu cầu mới mỗi khi chúng cần tài nguyên.
Trường Cache-Control của tiêu đề phản hồi HTTP chứa thông tin về khoảng thời gian mà máy khách có thể lưu vào bộ nhớ cache của một tài nguyên trước khi nó cần được truy cập lại.
17. Mô tả trọng tải.
Trọng tải trong REST đề cập đến thông tin có trong phần thân của phản hồi HTTP. Khách hàng đã sử dụng kỹ thuật GET để yêu cầu dữ liệu được đề cập.
Ví dụ: tài liệu chứa văn bản tweet và mọi tệp cần thiết để đưa tweet lên trang web sẽ được đưa vào tải trọng nếu bạn yêu cầu API Twitter cho một tweet cụ thể. Ngoài ra, tải trọng có thể được đưa vào yêu cầu HTTP bằng phương thức POST.
18. Phân biệt SOAP Vs REST?
- Không giống như SOAP, chỉ có thể xử lý XML, REST cho phép nhiều định dạng tài nguyên hơn, bao gồm XML, văn bản, HTML, hình ảnh, video và hơn thế nữa.
- Khi bảo mật là quan trọng đối với các ứng dụng trực tuyến, SOAP rất hữu ích. REST không thể được sử dụng khi các giao dịch phải được hoàn thành một cách an toàn vì nó không đặc biệt an toàn.
- Vì SOAP chỉ là một giao thức, REST có thể sử dụng nó trong các dịch vụ web của nó nhưng không phải ngược lại.
- Mặc dù REST chỉ là một mẫu kiến trúc được sử dụng để phát triển các dịch vụ web và tuân theo một số giới hạn nhất định như thiết lập máy khách-máy chủ, trạng thái không trạng thái, phản hồi có thể lưu vào bộ nhớ cache, hệ thống phân lớp và giao diện nhất quán, SOAP là một giao thức hoạt động trên các tiêu chuẩn cụ thể phải được tuân thủ nghiêm ngặt đến.
- Trong khi REST sử dụng các định danh tài nguyên chung (URI), SOAP sử dụng các giao diện dịch vụ để cung cấp các khả năng của nó cho các ứng dụng khách. REST có nhu cầu băng thông thấp hơn SOAP vì các bản tin SOAP chứa nhiều thông tin hơn.
19. Có thể sử dụng giao thức bảo mật lớp truyền tải (TLS) với REST không?
Trong thực tế, chúng tôi có thể. Giao tiếp của máy khách và máy chủ REST được mã hóa qua TLS và giao thức này cũng cung cấp cho máy khách một cách để xác thực máy chủ.
Do thực tế là lớp ổ cắm bảo mật thay thế nên nó được sử dụng cho giao tiếp an toàn (SSL). Việc triển khai các dịch vụ web RESTful thành công với HTTPS vì nó hợp tác hiệu quả với cả TLS và SSL.
REST kế thừa các đặc điểm của giao thức mà nó triển khai, đó là một điều cần lưu ý ở đây. Do đó, các biện pháp bảo vệ an toàn phụ thuộc vào giao thức mà REST sử dụng.
20. Các phương pháp Idempotent: chúng là gì? Làm thế nào nó áp dụng cho thế giới của các dịch vụ web RESTful?
Khi URI giống nhau, một số phương thức HTTP trong một yêu cầu có cùng tác động đến máy chủ cho dù chúng được phân phối một lần hay nhiều lần. Kỹ thuật Idempotent là những gì chúng được gọi là.
Ví dụ: bất kể URI sử dụng phương thức GET được chạy bao nhiêu lần, máy chủ sẽ luôn gặp phải cùng một kết quả. Các phương pháp lý tưởng bao gồm GET, PUT và PATCH, để đặt tên cho một số phương pháp.
Các phương thức HTTP Idempotent là một số phương thức được RESTful sử dụng Ứng dụng web. Chúng cần thiết để đảm bảo tính nhất quán trong các hoạt động của dịch vụ web RESTful.
Khách hàng sử dụng API REST có thể mắc lỗi mã buộc API REST thực hiện các yêu cầu lặp lại vô tình. Những cuộc gọi này có khả năng sử dụng sai tài nguyên.
21. Chức năng của Xác thực Cơ bản HTTP là gì?
Khi sử dụng Xác thực cơ bản như một phần của API, người dùng phải gửi tên người dùng và mật khẩu, được trình duyệt ghép nối ở dạng “tên người dùng: mật khẩu” và được mã hóa base64.
Trên mọi yêu cầu HTTP từ trình duyệt, giá trị được mã hóa được phân phối dưới dạng giá trị cho tiêu đề "Ủy quyền". Vì thông tin xác thực chỉ được mã hóa, bạn nên sử dụng biểu mẫu này khi gửi yêu cầu HTTPS vì chúng không an toàn và có thể bị chặn bởi bất kỳ ai nếu không sử dụng các giao thức bảo mật.
22. Bạn có nghĩ GraphQL là lựa chọn tốt nhất để tạo kiến trúc microservice không?
Microservices và GraphQL đi đôi với nhau một cách hoàn hảo vì GraphQL giữ bí mật về kiến trúc microservice của bạn với khách hàng của bạn.
Từ giao diện người dùng, bạn muốn tất cả dữ liệu của mình đến từ một API duy nhất, trong khi từ giao diện người dùng, bạn muốn chia nó thành các microservices. Kỹ thuật tốt nhất mà tôi biết để đạt được cả hai là sử dụng GraphQL.
Nó cho phép bạn chia phần phụ trợ của mình thành các microservices trong khi vẫn cung cấp cho mỗi ứng dụng một API duy nhất và cho phép kết hợp trên dữ liệu từ các dịch vụ khác nhau.
23. Sự khác biệt chính giữa phương thức HTTP an toàn và idmpotent là gì?
Các phương thức Idempotent tạo ra cùng một kết quả khi được gọi một lần hoặc nhiều lần thông qua cùng một yêu cầu. Phương thức PUT là phương pháp định hướng.
Tất cả các cách an toàn đều là Idempotent, nhưng không phải tất cả các phương pháp Idempotent đều an toàn vì các phương pháp an toàn không làm thay đổi tài nguyên. Ví dụ: GET an toàn vì nó chỉ lấy dữ liệu và không làm thay đổi tài nguyên.
Ngoài ra, nó là Idempotent, có nghĩa là nó sẽ luôn trả về cùng một câu trả lời khi được gọi.
24. JAX-RS API ngụ ý gì bởi các Lớp tài nguyên gốc RESTful?
Phiên bản Java Enterprise Edition cung cấp các lớp và giao diện tuân thủ các yêu cầu API JAX-RS. Với sự hỗ trợ của JAX-RS, việc tạo các dịch vụ web Java theo kiểu kiến trúc REST được thực hiện dễ dàng hơn.
Trong API JAX-RS, các lớp tài nguyên gốc chỉ là “các đối tượng java cũ thuần túy” hoặc POJO. Để triển khai các tài nguyên web cần thiết, họ sử dụng các chú thích JAX-RS.
Chúng có chú thích @path hoặc ít nhất một trong các phương thức của chúng có chú thích @path. Chúng có thể được tóm tắt dưới dạng các lớp Java với các phương thức xử lý các điểm cuối API.
25. Postman chính xác là gì, và tại sao nó được sử dụng?
Một công cụ phát triển API được gọi là Postman được sử dụng để tạo, kiểm tra và sửa đổi các API. Công cụ này có thể được các nhà phát triển sử dụng cho bất kỳ tính năng nào họ yêu cầu đối với một API. Nó đơn giản hóa và tạo điều kiện thuận lợi cho công việc của các nhà phát triển.
Postman giúp dễ dàng thực hiện nhiều loại truy vấn HTTP, bao gồm GET, POST, PUT và PATCH, lưu các môi trường để sử dụng sau này và chuyển đổi các API sang mã bằng một số ngôn ngữ khác nhau.
Mỗi giai đoạn của chu trình API được thực hiện đơn giản hơn với Postman và hợp tác được sắp xếp hợp lý để phát triển API nhanh hơn.
Ngoài ra, nó cho phép các nhà phát triển quản lý tài liệu, thông số kỹ thuật, trường hợp thử nghiệm, quy trình và danh mục API.
26. Các API REST được bảo mật như thế nào?
Vì các API REST không sử dụng các biện pháp bảo mật nghiêm ngặt như các API SOAP, nên dữ liệu nhạy cảm sẽ không được gửi hoặc truy xuất bằng cách sử dụng chúng.
Tuy nhiên, các API REST đáng tin cậy tiếp tục tích hợp các biện pháp kiểm soát bảo mật để truyền dữ liệu an toàn và đáng tin cậy.
- Xác thực và ủy quyền: Mỗi và mọi yêu cầu được thực hiện tới API đều phải vượt qua hai bước kiểm tra này. Xác minh danh tính của khách hàng thông qua xác thực và xác thực rằng họ có quyền truy cập các tài nguyên được yêu cầu thông qua ủy quyền là hai quy trình khác nhau.
- Xác thực: Trước khi API cấp quyền truy cập vào các tài nguyên của nó, các yêu cầu vẫn phải được kiểm tra để tìm mã có thể gây hại sau khi xác thực và ủy quyền. Do đó, một máy chủ sẽ bị tấn công bởi một cuộc tấn công tiêm.
- Xác thực: Trước khi API cấp quyền truy cập vào các tài nguyên của nó, các yêu cầu vẫn phải được kiểm tra để tìm mã có thể gây hại sau khi xác thực và ủy quyền. Do đó, một máy chủ sẽ bị tấn công bởi một cuộc tấn công tiêm.
- Mã hóa: Mã hóa TLS / SSL bảo vệ kết nối giữa máy khách và máy chủ và ngăn tin tặc chặn các yêu cầu và câu trả lời.
- Các kỹ thuật giới hạn tốc độ, chẳng hạn như giới hạn và điều chỉnh, bảo vệ máy chủ khỏi các cuộc tấn công thô bạo như DDoS nhằm mục đích làm suy giảm hoặc phá hủy chúng.
- Không có thông tin nhạy cảm trong URI: URI của tài nguyên không được chứa bất kỳ dữ liệu được bảo vệ nào (chẳng hạn như tên người dùng, mật khẩu hoặc mã thông báo xác thực).
Kết luận
Xin chúc mừng! Một số câu hỏi phỏng vấn REST API từ cơ bản đến phức tạp và các giải pháp tương ứng của chúng hiện nằm trong tầm tay bạn.
Bây giờ bạn đã có khái niệm tốt về cách trả lời một số câu hỏi phỏng vấn REST API điển hình, bạn có thể tiếp tục trả lời các cuộc phỏng vấn. Bước tiếp theo phụ thuộc vào mục tiêu của bạn.
Truy cập Loạt bài phỏng vấn với Hashdork để chuẩn bị cho các cuộc phỏng vấn.
Bình luận