Networks, WWW, HTTP. Web Technologies I. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP / 35

Similar documents
COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS. Web Access: HTTP Mehmet KORKMAZ

Application Layer: OSI and TCP/IP Models

Introduction to TCP/IP

Objectives. Connecting with Computer Science 2

DNS and HTTP. A High-Level Overview of how the Internet works

Information Network Systems The application layer. Stephan Sigg

Hypertext Transport Protocol

2. Introduction to Internet Applications

Lecture Overview. IN5290 Ethical Hacking. Lecture 4: Web hacking 1, Client side bypass, Tampering data, Brute-forcing

Connecting with Computer Science Chapter 5 Review: Chapter Summary:

A+ Guide to Software: Managing, Maintaining, and Troubleshooting, 5e. Chapter 8 Networking Essentials

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN

Computer Networks. Wenzhong Li. Nanjing University

Application Level Protocols

Web Programming Paper Solution (Chapter wise)

Session 2. Background. Lecture Objectives

Chapter 4: Networking and the Internet. Network Classifications. Network topologies. Network topologies (continued) Connecting Networks.

Step-by-Step Configuration

DATA COMMUNICATOIN NETWORKING

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols

Web Engineering (CC 552)

Step-by-Step Configuration

Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0

Introduction to Internet, Web, and TCP/IP Protocols SEEM

0 0& Basic Background. Now let s get into how things really work!

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

Step-by-Step Configuration

Review of Previous Lecture

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning

Introduction to Information Science and Technology 2017 Networking II. Sören Schwertfeger 师泽仁

CMPE 151: Network Administration. Servers

Review for Internet Introduction

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

Chapter 4: Networking and the Internet

Allows a user to copy files to/from remote hosts Usage:

Compliance with RFC 3261

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

Header Status Codes Cheat Sheet

ZENworks for Desktops Preboot Services

WWW, REST, and Web Services

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

Introduction to Computer Science. William Hsu Department of Computer Science and Engineering National Taiwan Ocean University

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

Networking Basics. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

The HTTP Protocol HTTP

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

Chapter 4: Networking and the Internet. Copyright 2015 Pearson Education, Inc.

Information About SIP Compliance with RFC 3261

Traditional Internet Applications

Unit 28 Website Production ASSIGNMENT 1

Motivation For Networking. Information access Interaction among cooperative application programs Resource sharing

CS4/MSc Computer Networking. Lecture 3: The Application Layer

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

How A Website Works. - Shobha

Networking Fundamentals: IP, DNS, URL, MIME

SIP Compliance APPENDIX

DNS & Iodine. Christian Grothoff.

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

Application Layer Introduction; HTTP; FTP

Web, HTTP and Web Caching

Protocols. Application Layer FTP, HTTP, SSH, IMAP. Transport Layer TCP, UDP. Internet Layer IP. Link Layer Ethernet, WiFi

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

3. WWW and HTTP. Fig.3.1 Architecture of WWW

Fachgebiet Technische Informatik, Joachim Zumbrägel

How does the Internet Work? The Basics: Getting a Web Page. The Basics: Getting a Web Page. Client-Server model. The Internet: Basics

HTTP Reading: Section and COS 461: Computer Networks Spring 2013

Jianhui Zhang, Ph.D., Associate Prof. College of Computer Science and Technology, Hangzhou Dianzi Univ.

Layered Model. DoD Model. ISO/OSI Model

Foundations of Python

Chapter 2 Application Layer

INF5750. RESTful Web Services

INTRODUCTORY INFORMATION TECHNOLOGY COMMUNICATING OVER NETWORKS. Faramarz Hendessi

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

Chapter 2 Application Layer

Application Layer: HTTP

Crystal Enterprise. Overview. Contents. Web Server Overview - Internet Information System (IIS)

Electrical Engineering Department EE 400, Experiment # 4 IP Addressing and Subnetting

Application Layer Protocols

Web Development. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11. Sérgio Nunes

CPET 499/ITC 250 Web Systems. Topics

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Objective. Application Layer Functionality and Protocols. CCNA Exploration 4.0 Network Fundamentals Chapter 03. Universitas Dian Nuswantoro

LOMBA KETERAMPILAN SISWA

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

Special expressions, phrases, abbreviations and terms of Computer Networks

Paper solution Subject: Computer Networks (TE Computer pattern) Marks : 30 Date: 5/2/2015

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer

CS 43: Computer Networks. HTTP September 10, 2018

CS WEB TECHNOLOGY

13. Internet Applications 최양희서울대학교컴퓨터공학부

Networking: Application Layer

How to Configure Authentication and Access Control (AAA)

EECS 3214: Computer Network Protocols and Applications

Ethernet / TCP-IP - Training Suite Application level protocols

More Internet Support Protocols

Transcription:

Networks, WWW, HTTP Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 1 / 35

Table of Contents Networks Internet 1 Networks Internet Resources Client Server Model 2 World Wide Web Overview HTTP Protocol HTTP Commands HTTP Status Codes Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 2 / 35

Networks Internet Open Systems Interconnection Model Conceptual model not realized directly various implementations Layered structure Each layer uses below layers serves above layers has well defined function Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 3 / 35

Internet Protocol Suite Networks Internet Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 4 / 35

Networks Internet Transmission Control Protocol / IP packet switching reliable ordered error checking Applications World Wide Web (HTTP) email (POP, IMAP, SMTP) FTP SSH DHCP DNS Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 5 / 35

Networks Resources Resource Static content Text HTML image audio / video binary file (pdf, doc, etc.)... Dynamic content Service SSH FTP HTTP Generated content CGI PHP, Python JSP, ASP REST / JSON Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 6 / 35

Networks Resources Unified Resource Identifier scheme:[//[user:password\@]host[:port]][/]path[?query] Unified Resource Locator Location based identification Fits to computer networks Usage web address file transfer remote login database access Unified Resource Name Name based identification ISBN books ISSN journals ISAN audiovisual works Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 7 / 35

Networks Resources URL Examples http://www.origo.hu/index.html http://www.w3schools.com/ http://localhost:8080/myapp/login http://localhost:8080/calculator/add?a=5&b=3 imap://imap.iit.uni-miskolc.hu:143 imaps://imap.iit.uni-miskolc.hu:993 smtp://smtp.iit.uni-miskolc.hu:25 ftp://ftp.iit.uni-miskolc.hu jdbc:mysql://localhost:3306/sakila?profilesql=true Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 8 / 35

Networks Resources Hosts Address IPv4 32bit = 4 byte xxx.xxx.xxx.xxx Unique address (NAT) IPv6 Compatibility with IPv4 128bit = 16byte Unique address Subnets Net Mask 32 bit 255.255.255.0 192.168.2.1/24 Network Address Translation Hide subnets Request from the Internet Service to the Internet X Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 9 / 35

Networks Resources Domain Name System IP address domain name Hierarchical structure "." is the root world wide decentralized DNS Servers Hosts belongs to one domain Domains contains multiple hosts Internet Assigned Numbers Agency Top Level Domain Generic TLD gov, edu, net, com, org, mil Country Code TLD hu, es, ru, au, gb, us www.iit.uni-miskolc.hu. www.abc.net.au. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 10 / 35

Networks Client Server Model Client Server Model Simple Centralized Server provides service or resource runs on a publicly available computer waits for requests from arbitrary clients Client requests resources from server runs locally Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 11 / 35

Client Server Model Networks Client Server Model Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 12 / 35

Networks Client Server Model Client Thin client Simple application Browser Representation, visualization No business logic Check values Low hardware requirements Web applications Thick (fat, rich) clients Complex applications Lot of functionalities Independent from the server Higher hardware requirements Off line work Installation for each clients Versioning? Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 13 / 35

Networks Client Server Model Server Application Application not computer! Waits for requests Specific purpose Web servers Mail servers Application servers Authentication servers FTP servers etc. a computer many server applications Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 14 / 35

Networks Client Server Model Server Computer Executes server application Fix IP Address High performance Expensive hardware High upkeep Custom OS One or multiple computers GRID Cloud Computing Server room, data centers As a developer, you will run a web/application server and a database server locally. you will use various servers (SCM, CI, Issue tracker, etc.) you may deploy your application to test and demo servers for presentation purposes. you will never want to operate server. That is the job of system administrators! Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 15 / 35

Table of Contents World Wide Web Overview 1 Networks Internet Resources Client Server Model 2 World Wide Web Overview HTTP Protocol HTTP Commands HTTP Status Codes Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 16 / 35

World Wide Web Overview History Hypertext system 1990-91 First web server Expansion ( 91-95) Commercialization ( 95-2000) Dot com bubble ( 97-2000) Present (since 2000) Ubiquitous Social network Multimedia Semantic web Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 17 / 35

Architecture World Wide Web Overview Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 18 / 35

World Wide Web Overview Web Server Application Static IP Listen on port (80,8080,... ) Communicate via HTTP Major providers Market share of active sites (Netcraft Sept 2015) 1 Apache ( 50.5%) 2 nginx ( 14.3%) 3 Microsoft ( 10.2%) 4 Google ( 7.8%) Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 19 / 35

World Wide Web Overview HyperText Transfer Protocol Application Layer Information Systems Requests and responses Defines Methods / verbs Status codes Designed to exchange HTML documents HTTPS is not a standalone protocol uses secure communication Secure Socket Layer Transport Layer Security Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 20 / 35

HTML World Wide Web Overview Plain Text Tags Standard Browsers visualize interpret 1 <html> <head> 3 <!-- Meta data --> </head> 5 <body> <!-- Content --> 7 </body> </html> Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 21 / 35

World Wide Web Overview Browser Challenges Browsers visualize the same HTML standardized differently. So sites have to be optimized to browser (IE) Customers have special needs: we want to include videos so please use HTML 5 the site has to be compatible with Internet Explorer 7 Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 22 / 35

Browser World Wide Web Overview Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 23 / 35

World Wide Web HTTP Protocol HTTP Protocol Application protocol Data communication Versions HTTP/0.9 HTTP/1.0 HTTP/1.1 HTTP 2.0 Defines Methods Status codes Typical clients Browsers Web robots Mobil applications Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 24 / 35

World Wide Web HTTP Protocol HTTP Methods HEAD GET POST PUT DELETE TRACE OPTIONS CONNNECT PATCH Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 25 / 35

World Wide Web HTTP Protocol GET, HEAD GET safe idempotent Request a page URL encoding GET path HTTP/1.1 HEAD safe idempotent Request the head part only Retrieve meta information HEAD path HTTP/1.1 Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 26 / 35

World Wide Web HTTP Protocol POST, PUT, DELETE, PATCH POST Request a page Parameters are encoded in the request Can send more data than GET Form data File upload PUT DELETE PATCH Store an entity. Idempotent File upload Removes an entity. Idempotent Partial modification of an entity. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 27 / 35

World Wide Web HTTP Protocol CONNECT, OPTIONS, TRACE CONNECT use tunnel such as SSL OPTIONS TRACE Query HTTP methods supported. Echo HTTP request. Web servers not always supports all of these methods! You can check them with telnet or netcat. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 28 / 35

World Wide Web HTTP Protocol HTTP Status Codes Part of the response Sent by the server Clients computes Important for AJAX, REST Categories 1XX Informational 2XX Successful 3XX Redirection 4XX Bad Request 5XX Sever Error Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 29 / 35

World Wide Web HTTP Protocol 1XX HTTP/1.1 to switch from HTTP/1.0 to HTTP/1.1 Unknown 1XX Ignore 100 Continue 101 Switching Protocols HTTP/1.0 HTTP/1.1 102 Processing Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 30 / 35

World Wide Web HTTP Protocol 2XX Request received understood accepted processed 200 OK GET HEAD POST TRACE 201 Created 202 Accepted 203 Non Authoritative Information 204 No Content 205 Reset content 206 Partial cntent Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 31 / 35

World Wide Web HTTP Protocol 3XX for the User Agent Browser modifies the request automatically. Caused by site moved. usage of proxy redirection 300 Multiple chices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 305 Use Proxy 306 Unused 307 Temporary Redirect Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 32 / 35

4XX World Wide Web HTTP Protocol Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 33 / 35

World Wide Web HTTP Protocol 4XX Bad Request Client side problem Any request can cause it. Examples: bad web address authentication required 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 405 Method Not Allowed 406 Not Acceptable... Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 34 / 35

World Wide Web HTTP Protocol 5XX Server Error Can be caused by any request. There is a problem at the server side. All users, who use the system, will get the error code. For example, exception do not handled database unavailable It can show the poor job of the developers. 501 Not Implemented 502 Bad Gateway 503 Servie Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 35 / 35