Grokking the System Design Interview
Ask Author
Back to course home

0% completed

Vote For New Content
Why does createURL use an api_dev_key instead of a user id or something similar?...

DogBiscuit

Jan 30, 2022

Why does createURL use an api_dev_key instead of a user id or something similar? Also why is the user name needed for encoding?

0

0

Comments
Comments
Design Gurus
Design Gurus4 years ago

api_dev_key is system generated ID of the user calling the API. For security and safety reasons, user provided IDs should not be used. Generally, user IDs don't have length constraints; hence they are easier to guess through brakeforce etc.

user_name is optional and c...

On this page

  1. Why do we need URL shortening?

Try it yourself

Designing URL Shortener (video)

  1. Requirements and Goals of the System
  1. Capacity Estimation and Constraints
  1. System Interface Definition
  1. Create Short URL API
  1. Redirect API
  1. Analytics API
  1. URL Management API
  1. Delete Short URL API
  1. Database Design
  1. Basic System Design and Algorithm

a. Encoding actual URL

b. Generating keys offline

  1. Data Partitioning and Replication
  1. Cache
  1. Load Balancer (LB)
  1. Purging or DB cleanup
  1. Telemetry
  1. Security and Permissions