Hypertext Transfer Protocol (HTTP) Fundamentals

Total Page:16

File Type:pdf, Size:1020Kb

Hypertext Transfer Protocol (HTTP) Fundamentals Hypertext Transfer Protocol (HTTP) Fundamentals Péter Jeszenszky Faculty of Informatics, University of Debrecen [email protected] Last modified: September 10, 2021 Contents ● Introduction, concepts ● Messages ● Methods ● Status codes ● Content negotiation ● Web server software 2 Hypertext Transfer Protocol ● A stateless application-level protocol for distributed, collaborative, hypertext information systems. ● Was developed as a joint effort between IETF and W3C. ● See: IETF HTTP Working Group https://httpwg.org/ 3 Characteristics ● A request/response protocol based on the client-server model. ● Stateless – I.e., subsequent requests are treated independent of each other. ● Extensible – E.g., methods, status codes, header fields. ● General-purpose – Although mainly used for communication between clients and web servers, in principle, can be used for any other purpose. 4 History (1) ● The first documented version: – HTTP 0.9 (Tim Berners-Lee) https://www.w3.org/Protocols/HTTP/AsImplemented.html ● Very simple, supports only GET requests for which a HTML document consisting of ASCII characters is sent back as a response. ● HTTP/1.0: – Tim Berners-Lee, Roy T. Fielding, Henrik Frystyk Nielsen, Hypertext Transfer Protocol—HTTP/1.0, RFC 1945, May 1996. https://www.rfc-editor.org/rfc/rfc1945 ● Uses MIME-like messages that also contain meta-information about enclosed content. – Supports not only the transmission of HTML documents but also of any other media types. ● Supports multiple methods (GET, HEAD, POST, PUT, DELETE, LINK, ULINK). ● Authentication (basic authentication) ● … 5 History (2) ● HTTP/1.1: – Roy T. Fielding, James Gettys, Jeffrey C. Mogul, Henrik Frystyk Nielsen, Tim Berners-Lee, Hypertext Transfer Protocol —HTTP/1.1, RFC 2068, January 1997. https://www.rfc-editor.org/rfc/rfc2068 ● New features: persistent connections, content negotiation, more sophisticated caching, range requests, … – Roy T. Fielding, James Gettys, Jeffrey C. Mogul, Henrik Frystyk Nielsen, Larry Masinter, Paul J. Leach, Tim Berners- Lee, Hypertext Transfer Protocol—HTTP/1.1, RFC 2616, June 1999. https://www.rfc-editor.org/rfc/rfc2616 ● An update to RFC 2068. 6 Current Standard ● Roy T. Fielding (ed.), Julian F. Reschke (ed.), Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing, RFC 7230, June 2014. https://www.rfc-editor.org/rfc/rfc7230 ● Roy T. Fielding (ed.), Julian F. Reschke (ed.), Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, RFC 7231, June 2014. https://www.rfc-editor.org/rfc/rfc7231 ● Roy T. Fielding (ed.), Julian F. Reschke (ed.), Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests, RFC 7232, June 2014. https://www.rfc-editor.org/rfc/rfc7232 ● Roy T. Fielding (ed.), Yves Lafon (ed.), Julian F. Reschke (ed.), Hypertext Transfer Protocol (HTTP/1.1): Range Requests, RFC 7233, June 2014. https://www.rfc-editor.org/rfc/rfc7233 ● Roy T. Fielding (ed.), Mark Nottingham (ed.), Julian F. Reschke (ed.), Hypertext Transfer Protocol (HTTP/1.1): Caching, RFC 7234, June 2014. https://www.rfc-editor.org/rfc/rfc7234 ● Roy T. Fielding (ed.), Julian F. Reschke (ed.), Hypertext Transfer Protocol (HTTP/1.1): Authentication, RFC 7235, June 2014. https://www.rfc-editor.org/rfc/rfc7235 7 Secure HTTP ● Eric Rescorla, HTTP Over TLS, RFC 2818, May 2000. https://www.rfc-editor.org/rfc/rfc2818 – Originally, this specification defined the https URI scheme, that is now defined by RFC 7230. ● Rohit Khare, Scott Lawrence, Upgrading to TLS Within HTTP/1.1, RFC 2817, May 2000. https://www.rfc-editor.org/rfc/rfc2817 ● Tim Dierks, Eric Rescorla, The Transport Layer Security (TLS) Protocol Version 1.3, RFC 8446, August 2018. https://www.rfc-editor.org/rfc/rfc8446 8 HTTP/2 ● The next major version of HTTP after HTTP/1.1. ● Web page: https://http2.github.io/ ● Specifications: – Mike Belshe, Roberto Peon, Martin Thomson (ed.), Hypertext Transfer Protocol Version 2 (HTTP/2), RFC 7540, May 2015. https://www.rfc-editor.org/rfc/rfc7540 – Roberto Peon, Herve Ruellan, HPACK: Header Compression for HTTP/2, RFC 7541, May 2015. https://www.rfc-editor.org/rfc/rfc7541 9 Sessions ● A session is a sequence of requests and responses between a client and a server. ● The HTTP protocol, by nature, is stateless and does not provide support for session management. ● Session management can be implemented with the help of cookies. 10 How it Works GET /index.html HTTP/1.1 User-Agent: Browser Host: www.example.com Accept: */* HTTP/1.1 200 OK Date: Fri, 23 Aug 2019 13:15:42 GMT Content-Type: text/html Content-Length: 1024 <!DOCTYPE html> <html> <head> <title>Hello, world!</title> ... 11 curl ● Command line tool (curl) and library (libcurl) for transferring data that supports a number of protocols. https://curl.se/ https://github.com/curl/curl – Written in: C – Platform: Linux, macOS, Windows, … – License: X11 License ● Supported protocols: FTP, HTTP, HTTPS, SCP, SFTP, … 12 HTTPie ● Command line HTTP client. https://httpie.io/ https://github.com/jakubroztocil/httpie/ – Written in: Python – Platform: Linux, macOS, Windows – License: New BSD License 13 Web Developer Tools ● Chromium, Google Chrome, Opera: – Chrome Developer Tools (DevTools) https://developer.chrome.com/devtools ● Firefox: – Firefox Developer Tools https://developer.mozilla.org/docs/Tools ● Safari: – Web Development Tools https://developer.apple.com/safari/tools/ https://support.apple.com/guide/safari-developer ● Chromium-based Edge: – Microsoft Edge (Chromium) Developer Tools https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide-chro mium 14 Further Tools ● Postman https://www.postman.com/ – Available as a native application. ● Platform: macOS, Linux, Windows ● License: non-free ● Further information: Postman Learning Center https://learning.postman.com/ 15 Terminology (1) ● Resource: The target of an HTTP request identified by a URI. ● Representation: – Information that is intended to reflect a past, current, or desired state of a given resource. – Can be readily communicated via the protocol. – Consists of a set of representation metadata and a potentially unbounded stream of representation data. ● Content negotiation: – An origin server might be provided with, or be capable of generating, multiple representations that are each intended to reflect the current state of a target resource. – Content negotiation is a mechanism for selecting the most appropriate representation to a given request. – This representation is called the selected representation. 16 Terminology (2) ● Message: The basic unit of HTTP communication. ● Payload: – A representation transmitted in a message. 17 Terminology (3) ● The terms client and server refer only to the roles that programs perform for a particular connection. The same program might act as a client on some connections and a server on others. – Client: A program that establishes a connection to a server for the purpose of sending one or more HTTP requests. – Server: A program that accepts connections in order to service HTTP requests by sending HTTP responses. 18 Terminology (4) ● User agent: A client program that initiates a HTTP request. – E.g., web browser, web crawler, command line tool (curl, wget), custom application, … ● Origin server: A program that can originate authoritative responses for a given target resource. ● Sender/recipient: A program that sends or receives a given message, respectively. 19 Terminology (5) ● Intermediary: allows requests to be satisfied through a chain of connections. – There are three types of intermediaries: proxy, gateway, tunnel. 20 Intermediaries User agent Intermediary Intermediary Origin server Implementation Diversity ● Both user agents and origin servers can be of many kinds. – User agents: general-purpose browsers, household appliances, entertainment devices, command line tools, mobile apps, … – Origin servers: web servers, configurable networking components, office machines, autonomous robots, traffic cameras, … 22 The http and https URI Schemes (1) ● Defined for the purpose of identifying resources on a potential origin server listening for connections on a given TCP port. – https uses a TLS-secured connection for communication. ● Syntax: – 'http://' host [':' port] [path] ['?' query] ● If the port subcomponent is not given, TCP port 80 is the default. – 'https://' host [':' port] [path] ['?' query] ● If the port subcomponent is not given, TCP port 443 is the default. ● The path must start with a '/' character or must be empty. 23 The http and https URI Schemes (2) ● The origin server for a URI is identified by the host component and the optional port component. – The path and the optional query component identifies a potential target resource within that origin server's namespace. ● Note that the presence of a URI does not imply that there is always an HTTP server listening for connections on the given host and port. 24 The http and https URI Schemes (3) ● URI comparison: – An empty path component is equivalent to a path of '/'. – The scheme and host components are case-insensitive and normally provided in lowercase. All other components are compared in a case- sensitive manner. – Characters other than those in the “reserved” set are equivalent to their percent-encoded octets. ● For example, the following URIs are equivalent: – http://www.inf.unideb.hu/, http://www.inf.unideb.hu:80/, http://www.inf.unideb.hu, http://www.inf.unideb.hu:80 – http://www.inf.unideb.hu/~jeszy/, http://www.inf.unideb.hu/%7Ejeszy/, HTTP://www.INF.UNIDEB.hu/~jeszy/ 25 Messages ● There are two types of messages: – Request
Recommended publications
  • Full Stack Flex Program Curriculum Overview
    THE CODING BOOT CAMP FULL STACK FLEX PROGRAM CURRICULUM OVERVIEW The digital revolution has transformed virtually every area of human activity—and you can be part of it as a web development professional. The Coding Boot Camp is a part- time, 24-week Full Stack Flex course that gives you the knowledge and skills to build dynamic end-to-end web applications and become a full stack web developer. Courses are scheduled to fit into your life, whether you’re employed or attending college full-time, with convenient weekend and evening sessions. The program is rigorous and fast-paced and covers both the theory and application of web development. As you gain proficiency, you’ll use what you learn on real projects under the guidance of area employers. Plus, you’ll have an impressive Professional Portfolio and the confidence to succeed as a web development professional. © University of Denver Coding Boot Camp - In collaboration with Trilogy Education Services PAGE 1 © University of Denver Coding Boot Camp - In collaboration with Trilogy Education Services IS THE PROGRAM RIGHT FOR YOU? Are you creative, curious and looking to reinvent yourself professionally? If so—or if any of the following describes your situation—enrolling in our coding boot camp could be a smart career move: » You’re considering a career change but not sure how to take the first step. » You’re happy in your current field, but want to move to another company—or stay put but shift from a non-technical into a technical position. » You want to engage more deeply with your current job—or boost your earnings and broaden your experience with freelance work.
    [Show full text]
  • Web Developer (Jquery, CSS)
    Position Title: Web Developer (jQuery, CSS) Location: Denver, CO Compensation: Salary based on experience Company National Valuation Consultants, Inc. (NVC) is the largest privately held, commercial real estate valuation and consulting company in the United States, with offices in Denver, Morristown, Cincinnati, Atlanta, Chicago and Tampa. The Denver corporate headquarters office is currently seeking a fulltime Web Developer (jQuery, CSS). NVC’s Core Values Our core values make us who we are. As we change and grow, the beliefs that are most important to us stay the same—putting people first, pursuing excellence, acting with integrity and serving our world. We only hire candidates who are aligned with these values. For additional information about NVC, please visit the company website at: www.nvcinc.com. Duties Include: Construct, develop and maintain Web applications using a combination of HTML5, CSS including Bootstrap and JavaScript including jQuery. Develop APIs to communicate with the back end. Job Requirements: Bachelor's degree or greater in Information Systems, Computer Science or related concentration and/or two or more years of relevant experience in a corporate environment. Mastery of front end development skills such as HTML5, CSS3, JavaScript, and jQuery Experience in building and owning enterprise level front end and user interface code for large scale web applications Deep understanding of front end engineering principles and experience with front end technologies and frameworks Experience working with Back End engineering to integrate into the full product stack Required JS Skills: Excellent coding experience in JavaScript Working knowledge of jQuery Bootstrap and Responsive design techniques Browser compatibility issues Services-Oriented Architecture HTTP and RESTful services AngularJS, Knockout, or equivalent JS MVC and/or AMD frameworks Use best practices to document and write quality software.
    [Show full text]
  • Tutorial #1: Getting Started with ASP.NET
    Tutorial #1: Getting Started with ASP.NET This is the first of a series of tutorials that will teach you how to build useful, real- world websites with dynamic content in a fun and easy way, using ASP.NET and C#. ASP.NET pages can display HTML, collect user input, and interact with databases. Note that these tutorials are not meant to provide an in-depth training in ASP.NET programming. The goal is to walk you through the development steps of a simple project, which you may later follow in designing an interface to your own final database project for this class. If you are interested in further study of web development with ASP.NET, I recommend the book by Scott Mitchell, SAMS Teach Yourself ASP.Net in 24 Hours, Pearson Education, 2010, ISBN 978-0-672-33305-7. Step 1. Installing the Software Environment Prior to using ASP.NET, you will need to install the following software: • SQL Server 2008 R2 for the database engine. • SQL Server Management Studio Express for the client (SSMS) • Visual Web Developer Express 2010 for the IDE • The .NET framework 4 environment To install this software, visit the following website: http://www.microsoft.com/express/Downloads/ Click on Download then scroll down to 2010 Express products and click on Visual Web Developer 2010 Express. Because Visual Web Developer is designed for developing ASP.NET websites, installing it automatically installs the .NET Framework and other required ASP.NET tools. You can also optionally install SQL Server 2008 (just checkmark “Microsoft SQL Server 2008 Express Service Pack 1” when prompted).
    [Show full text]
  • Websydian Web Developer
    Websydian Web Developer THE WEB DEVELOPMENT TOOL FOR CA PLEX Web Developer provides the software patterns required for managing the challenges of browser-based development including user and session management, data integrity protection, and user access control. Also included are abstract solutions for typical data manipulation scenarios, complete separation between application appearance and functionality. Web Developer contains WebsydianExpress , which is a platform providing a running web site out-of-the-box. This web site comes with support for multiple language sites and a browser-based administration interface enabling maintenance by none-developers and facilitating quick and secure prototyping of new business processes using CA Plex with Websydian, CA 2E or RPG. COPORATE DEVELOPERS TAKE OVER WEB DEVELOPMENT To enable transfer of back-end development resources to web, Web Developer provides an integrated environment making it possible to build web applications integrated with back- end processes and databases using only a single set of development skills. FOCUS ON BUSINESS PROCESSES INSTEAD OF TECHNOLOGY Web Developer allows you to stay focused on business processes by isolating the "technical plumbing", i.e. HTML syntax details, communication protocols, database management, implementation language issues and the like. SEPARATION OF APPLICATION FUNCTIONALITY FROM VISUAL DESIGN The visual web design is independent of the functionality of the application. Outsourcing of the web design therefore poses no risk on application or production data, and the web designer can work simultaneously with you on the web application. WEB APPLICATIONS INDEPENDENT OF PLATFORM AND WEB SERVER SOFTWARE Websydian web applications are platform and web server independent. Should the need arise to transfer an implemented solution from one platform to another, you can do this without any application re-development.
    [Show full text]
  • Chapter 1 Web Basics and Overview
    Chapter 1 Web Basics and Overview The Web is an Internet-based distributed information system. Anyone with a computer connected to the Internet can easily retrieve information by giving a Web address or by simply clicking a mouse button. The Web is a great way to disseminate information and making it available 24/7. Information can also be collected from Web users and customers through online forms. Maintainers and administrators can control and update Web content from anywhere on the Web. All these make the Web a powerful tool for mass communication, e-business and e-commerce. Compared with TV, radio, news papers, and magazines, putting the word out on the Web is relatively simple and inexpensive. But a website is much more than such one-way communication media. It can be a virtual o±ce or store that is always open and supported by workers from anywhere. Web service companies o®er free Web space and tools to generate simple personal or even business Web pages. But, well-designed and professionally implemented websites are much more involved. Even then, expertly produced websites are still much more cost-e®ective than other means of mass communication. For business and commerce, the cost of a website is negligible when compared to building and operating a brick-and-mortar o±ce or store. Once in-place, a website is a store that never closes and that is very attractive. People take great pains in building an o±ce or store to project the right image and to serve the needs 7 8 CHAPTER 1.
    [Show full text]
  • PHP Web Developer Job Description
    PHP Web Developer Job Description Job Title: Web Developer Based At: EMSL, Arden Press House Reports To: Technical Director, EMSL Salary: £22,000 to £28,000 Job Summary The Web Developer uses expertise and experience to produce development work on a wide variety of web projects. Working with confidence and professionalism, they will maintain high standards ensuring the quality of web development services delivered to our clients. With a responsibility for the quality of work they produce, they will be accountable for delivery of projects according to agreed timescales as well as ensuring code is well- constructed, secure and suitable for the specific application. A good understanding of web development technologies across numerous platforms is essential. The Web Developer is a key position in a small Web Development Team at our agency, so they should expect to be involved in technical decisions, sharing knowledge and maintaining excellent relationships with colleagues. Primary Responsibilities: • Create website back-ends and web services using open-source technologies, particularly PHP. • Integrate back-ends with existing front-ends, using HTML / CSS / AJAX as needed • Participate in development process from specification and design through build to testing, release and maintenance. • Break down problems into viable actionable chunks, and solve them with clarity and precision • Deliver projects according to agreed timescales • Some basic website-related administrative duties, e.g. SSL and DNS management Qualifications, Skills, Experience:
    [Show full text]
  • Front-End Web Developer
    Front-End Web Developer The Front-End Web Developer Program Education & Certification The Front-End Web Developer with Ruby on Rails program is ➢ Student should have or be pursuing a high school diploma designed to prepare students to function as web application or GED. developers in multiple technical, business, and healthcare ➢ Students who complete this program this comprehensive settings. Web developers serve roles with job titles such as Web course would be prepared to sit for the Microsoft Site Developers, Web Applications Developers, Web Designers Technology Associate (MTA) 98-375: HTML5 and Web Masters. Application Exam national certification examination. The purpose of this program is to prepare students to design and Detailed Course Topics Covered develop websites, design and develop web applications so that o Creating a basic website using HTML, CSS, styles, HTML users can perform specific tasks, and maintain websites so they elements, and links, video, and images continue to meet user needs. This course covers the following key o Installing and configuring JavaScript areas and topics: o Using basic JavaScript syntax including conditional statements ➢ The Web: Understanding how the Web works, how it is and loops to develop web applications structured, how it is coded, and how common web tools are o Using basic JavaScript syntax including arrays array methods, used for specific purposes strings, and expressions o Using functions and function programming in JavaScript ➢ Web Design: Designing websites using appropriate fonts,
    [Show full text]
  • Website, Content, and Design Terminology
    Website, Content, and Design Terminology ACCESSIBILITY: Relates to web design/coding standards and refers to how easy it is for everyone to use your website, including people who are visually impaired or in any way physically handicapped, or limited by older or less common computers and software. These days with the smaller screen sized tablets and smart-phones, accessibility for use on all devises is important; especially with the growing number of people using smaller screen devices to go online. ADDRESS BAR: The white bar towards the top of your computer screen. It will normally have something typed in it that starts with "http://" This is where you type in the address of a website that you want to visit. ANCHOR TEXT: The text a link (hyperlink) uses to refer to your web page. These make a difference in your search engine results. BACKLINKS: Links from other website pages to yours. Backlinks are used to increase a site’s popularity with search engines and to get more people to visit your site. The quality of a backlink and its anchor text is factored into Google’s algorithm when deciding how much importance to place on it. BANDWIDTH: It may help if you read "traffic" first, but very simply, bandwidth relates to how much a resource is used. An analogy would be a freeway. The wider the freeway, the more traffic (users) it can handle. The narrower it is, the less people can use it at once (without problems). When a website gets a lot of visitors, it will use a lot of bandwidth.
    [Show full text]
  • Web Developer/Software Engineer
    Web Developer/Software Engineer O’Shaughnessy Asset Management (OSAM) is seeking an experienced and ambitious Web developer with a strong background in ASP.net/Microsoft MVC to join our team. Candidates should have knowledge and ability to build highly distributed web applications and robust desktop software, with mobile development being a plus. The position provides an excellent opportunity for candidates eager to gain exposure to the financial services industry as a technical professional. Candidates will also be responsible for developing and supporting a broad range of financial applications including client/server web portals, portfolio construction software, performance reporting, etc. OSAM is a firm that values the development of its employees, and the hired candidate will receive ongoing mentoring from experienced industry professionals, and opportunities for career advancement within the field of financial services. Competencies: • 3 to 5 years+ of experience with ASP.Net, Microsoft MVC, HTML, CSS, Javascript (jQuery), Visual Studio, C# and SQL Server • Ability to manage, plan, and prioritize multiple concurrent projects in a fast-paced environment • Proven experience in systems solution development from design through production and on-going maintenance/upgrades • Experience with Python, API and Microservices development, Web Services, WCF, and Service Oriented Architecture a plus • Understanding of Software Development Life Cycle and Agile methodologies • Excellent communication, math, and problem-solving skills • Computer science degree or relevant experience • Experience in finance a plus but not required • Any experience with Azure would be huge plus Please send all inquiries to [email protected] * As of 4/30/20. The AUM and AUA combined total represents $4.65 billion of O’Shaughnessy Asset Management assets under management and $0.44 billion of assets under advisement.
    [Show full text]
  • CSCC09 Programming on the Web
    CSCC09 Programming on the Web Thierry Sans Architecture of a Web Application Client Side Server Side Web Browser Web Server Web Technologies Content Resources Presentation management Client Side Processing The evolution of web applications The Virtuous Circle faster, better technology new usage How web technologies have changed? Ajax (interactivity) • Homogeneous implementation of • the standards • HTML 5 (multimedia) • Increasing speed of rendering and Javascript engines Better Better Standards Browsers Better Development Tools • Web-oriented languages • Web frameworks Consequence 1 (of 2) ➡ The application is moving from the server to the client ✓ Rich Content Traditional Web Platform Client Side Server Side Web Browsers Web Server Modern Web Platform Client Side Server Side Smartphones and Tablets Web Server Consequence 2 ➡ Data storage and data processing are moving from the desktop to the cloud ๏ Cloud Computing Customer Resources Management Accounting and Billing Collaboration E-Learning Web Portals Content Management Planning E-Health Where Web Applications are going Rich Content + Cloud Computing = A new way to think about software Web Technologies are at the heart of this change Emerging Web Platform Client Side Server Side Web-based Operating System Web Server Web applications from the developer’s perspective Why are web applications so popular? • Easy to deploy • Easy to maintain • Fast and reliable technology (especially browsers) What is challenging about web development • A large collection of languages, framework and dev
    [Show full text]
  • Full Stack Web Development Languages JAVASCRIPT Javascript Is a Front-End Programming Language That’S So Popular, It Is Known As the ‘Programming Language of the Web’
    OF TECHNOLOGY Full Stack Web Development Languages JAVASCRIPT JavaScript is a front-end programming language that’s so popular, it is known as the ‘programming language of the web’. While HTML & CSS are used to create a web page, JavaScript is needed to make it interactive. Fill out a web form or click a link and that is JavaScript at work. Currently, JavaScript is used by the most popular web browsers in the world including Chrome, Firefox and Internet Explorer. COURSE MODULES WHERE YOU’ LL LEARN JAVASCRIPT: Coding from Scratch, Front-End Foundations, Cloud Deployment JOB TITLES: Front-End Developer, Software Developer, Software Engineer, Web Developer. AVERAGE SOFTWARE DEVELOPER SALARY: $101,790 (BLS.gov) JAVA Java is a back-end programming language that is one of the most widely-used programming languages in the world; it is estimated to run on over 3 billion devices! A few popular uses for Java include mobile app development, website development and creating, editing and updating collections of data. COURSE MODULES WHERE YOU’ LL LEARN JAVA: Programming Foundations JOB TITLES: Front-End Developer, Software Developer, Software Engineer, Web Developer. AVERAGE SOFTWARE DEVELOPER SALARY: $101,790 (BLS.gov) C# C# is the most common language associated with the .NET framework. C# is a scripting programming language in which developers can create algorithms and business logic to manipulate the data that was received in front-end development. Fun fact, C# is often used in coding virtual reality (VR) games within a VR distribution and creation platform like Unity. COURSE MODULES WHERE YOU’ LL LEARN C # : Programming Foundations, Cloud Deployment JOB TITLES: Full Stack Developer, Computer Programmer, Software Engineer AVERAGE SOFTWARE DEVELOPER SALARY: $82,240 (BLS.gov) RUBY Ruby is a great programming language to learn if you are a beginner.
    [Show full text]
  • IT – Web Programmer (31-152-6) Technical Diploma Effective 2018/2019
    IT – Web Programmer (31-152-6) Technical Diploma Effective 2018/2019 The course sequence shown on this sheet is the recommended path to completion of the program and reflects how courses are regularly scheduled. Courses will be scheduled in the terms indicated here. Courses may be taken out of sequence as long as requisites are met. Course Terms √ Number Course Title Requisites Notes Credits Offered 107-193 * IT Essentials 3 3 FA, SP, SU 152-182 * Web Programming 1 3 FA 152-184 * Java Programming 1 3 FA 152-187 * Web Program Orientation 1 FA 804-107 College Mathematics Prereq: 834-109 1,2,3 3 FA, SP, SU 152-097 * Javascript Prereq: 152-182 3 SP 152-146 * Advanced Databases Prereq: 152-126 or 152-184 3 SP 152-150 * Web Programming 2 Prereq: 152-182 3 SU 152-174 * Java Programming 2 Prereq: 152-184 3 SP 152-188 * PHP Web Programming Prereq: 152-182 3 SP, SU Minimum Program Total Credits Required 28 Students interested in continuing into the 10-152-3 IT-Web Software Developer program can earn their associate degree by completing an additional 32 credits. Please see your academic advisor for details. Federal regulations require disclosure of the following information for this program: Resident On-time Graduation U.S. Department of Labor Standard Occupational (SOC) Code & Occupational Profile – Tuition Median Loan Debt1 Rate2 available at http://www.onetonline.org and Fees $5,140 $2,332 50% Web Developer (15-1134) 1 Median Loan Debt: Based on eligibility, students can receive loans to help pay for the total cost of attending college.
    [Show full text]