Troubleshooting web sites with web browsers LIR HEAnet User Group for Libraries DCU June 7 th 2016

Slides:



Advertisements
Similar presentations
Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
Advertisements

A Third Party Service for Providing Trust on the Internet Work done in 2001 at HP Labs by Michael VanHilst and Ski Ilnicki.
HTTP – HyperText Transfer Protocol
Web basics HTTP – – URI/L/Ns – HTML –
1 HTTP and some other odds and ends Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Chapter 9 Application Layer, HTTP Professor Rick Han University of Colorado at Boulder
CS320 Web and Internet Programming Generating HTTP Responses
HTTP Hypertext Transfer Protocol. HTTP messages HTTP is the language that web clients and web servers use to talk to each other –HTTP is largely “under.
How the web works: HTTP and CGI explained
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 23 – Internet Applications Internet Directory.
Web, HTTP and Web Caching
Definitions, Definitions, Definitions Lead to Understanding.
Hypertext Transfer Protocol Information Systems 337 Prof. Harry Plantinga.
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
Hypertext Transport Protocol CS Dick Steflik.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
11 SUPPORTING INTERNET EXPLORER IN WINDOWS XP Chapter 11.
Computer Concepts 2014 Chapter 7 The Web and .
Web technologies and programming cse hypermedia and multimedia technology Fanis Tsandilas April 3, 2007.
Web Hacking 1. Overview Why web HTTP Protocol HTTP Attacks 2.
Introduction to Web Programming Fall 2014/2015 Some slides are based upon Web Technologies course slides, HUJI, 2009 Extended System Programming Laboratory.
Cross-Site Scripting Vulnerabilities Adam Doupé 11/24/2014.
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
SUNY Polytechnic Institute CS 490 – Web Design, AJAX, jQuery Web Services A web service is a software system that supports interaction (requesting data,
Krerk Piromsopa. Web Caching Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University.
HTTP HTML Introduction to web development. elaborate SPARCS 07 Wheel Moodle TA 안병욱 CS101 TA The presenter is 바퀴짱 ? 3 월 신작 ? 밤의 제왕 ? 악명 높은 TA?
Web Caching: Replication on the World Wide Web Jonathan Bulava CSC8530 – Distributed Systems Dr. Paul Schragger.
FTP (File Transfer Protocol) & Telnet
Mail (smtp), VoIP (sip, rtp)
CSC 2720 Building Web Applications Getting and Setting HTTP Headers (With PHP Examples)
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
Application Layer 2 Figures from Kurose and Ross
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
Implementing ISA Server Publishing. Introduction What Are Web Publishing Rules? ISA Server uses Web publishing rules to make Web sites on protected networks.
Sistem Jaringan dan Komunikasi Data #9. DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address.
WWW, HTTP, GET, POST, Cookies Svetlin Nakov Telerik Corporation
IT Engineering Instructor: Rezvan Shiravi
Proxy Lab Recitation I Monday Nov 20, 2006.
HTTP1 Hypertext Transfer Protocol (HTTP) After this lecture, you should be able to:  Know how Web Browsers and Web Servers communicate via HTTP Protocol.
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
1-1 HTTP request message GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr request.
CS 4244: Internet Programming Security 1.0. Introduction Client identification and cookies Basic Authentication Digest Authentication Secure HTTP.
Web Technologies Interactive Responsiveness Function Hypertext Web E-Publishing Simple Response Web Fill-in Forms Object Web « Full-Blown » Client/Server.
WWW: an Internet application Bill Chu. © Bei-Tseng Chu Aug 2000 WWW Web and HTTP WWW web is an interconnected information servers each server maintains.
1 3 Computing System Fundamentals 3.4 Networked Computer Systems.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
Pertemuan #10 Secure HTTP (HTTPS) Kuliah Pengaman Jaringan.
HTTP How the Internet servers and clients communicate.
Web Technologies Lecture 1 The Internet and HTTP.
JavaScript, Part 4 Instructor: Charles Moen CSCI/CINF 4230.
HTTP Here, we examine the hypertext transfer protocol (http) – originally introduced around 1990 but not standardized until 1997 (version 1.0) – protocol.
5 th ed: Chapter 17 4 th ed: Chapter 21
Overview of Servlets and JSP
LURP Details. LURP Lab Details  1.Given a GET … call a proxy CGI script in the same way you would for a normal CGI request  2.This UDP perl.
COMP2322 Lab 2 HTTP Steven Lee Jan. 29, HTTP Hypertext Transfer Protocol Web’s application layer protocol Client/server model – Client (browser):
Web Caching. Why Caching? Faster browsing experience for users Cache hit rate Traffic Prioritization Reduce network bandwidth requirements significantly.
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
Performance testing and engineering Raja Gourav Kokkiligadda, Performance Architect, Domestic and General.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
PHP: Further Skills 02 By Trevor Adams. Topics covered Persistence What is it? Why do we need it? Basic Persistence Hidden form fields Query strings Cookies.
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking HTTP 0.
Fiddler and Your Website Robert Boedigheimer. About Me Web developer since 1995 Columnist for aspalliance.com Pluralsight Author 3 rd Degree Black Belt,
Block 5: An application layer protocol: HTTP
Ad-blocker circumvention System
Debugging Your Website with Fiddler and Chrome Developer Tools
Web Caching? Web Caching:.
Troubleshooting web sites with web browsers

CSCI-351 Data communication and Networks
Presentation transcript:

Troubleshooting web sites with web browsers LIR HEAnet User Group for Libraries DCU June 7 th 2016

Agenda Introduction and information about LIR HTTP Primer / CSS & JS updates Troubleshooting a website with Google Chrome Monitoring? routes

Introduction / about LIR LIR HEAnet User Group for Libraries aims to explore and develop awareness of electronic information resources and to promote the use of the HEAnet network in exploiting these resources. Established in 1993, LIR: Provides a forum for discussion on the use of electronic resources and networks by HEI libraries Assists in development and training for their effective use Encourages communication and co-operation between member libraries in accessing electronic resources.

Introduction / about LIR Workshops – Digital Marketing May 2013 – HEAnet Services Day November 2014 HEAnet Services Day – Tech Tools for Teaching December 2014 Tech Tools for Teaching Annual Seminar

Introduction / about LIR Why is there a LIR HEAnet User Group – Originally, the group was established to encourage use of the internet and the HEAnet network by libraries. – Today, the group continues this mission but has extended to include HEAnet services, and advanced internet tech. Filesender Edustorage Edugate Eduroam Multimedia services (event recording/live streaming/video or desktop conferencing/video hosting)

Introduction /about LIR Why this workshop? – Equip libraries with the web skills to get the most out of their web-resources – Library website Hosted or on-campus services (proxy, Catalogue, Discovery Service, Institutional repository) – E-resources Ebooks, journals etc.

Introduction / about LIR Who monitors their web-resources? – User access rates? – Availability (up/down)? – Error rates? – Response times? – Off-campus login experience? Not all users complain, and when they do, problems can take weeks to resolve. – This workshop will provide you with evidence to support issues you raise with providers and help you think more proactively about discovering issues before users do.

HTTP Primer Fundamentals of a web-request 1.User requests web-site with a browser. request is delivered via HTTP Protocol 2.Response is also delivered via HTTP Protocol, including a HTML document Document is rendered by the browser.

HTTP Primer 1.User requests web-site with a browser GET /drupal/?q=aboutus HTTP/1.1 Host: lirgroup.heanet.ie Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*; Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/ (KHTML, like Gecko) Chrome/ Safari/ DNT: 1 Referer: Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8 Cookie: __utma= ; __utmc= ;_utmz= utmcsr=google|utmccn=(organic)|utmcmd= organic|utmctr=(not%20provided); Request HEADER can be spoofed Request HEADER can be altered by intermediary devices (proxy/web-cache) Some headers are part of original HTTP specification, others are browser specific or open to use by other browsers

HTTP Primer 1.Response generated by web-server HTTP/ OK Server: nginx Date: Tue, 31 May :46:02 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive X-Drupal-Cache: HIT Etag: " " Content-Language: en Link: ; rel="shortlink", ; rel="canonical" X-Generator: Drupal 7 ( Cache-Control: public, max-age=0 Expires: Sun, 19 Nov :00:00 GMT Vary: Cookie,Accept-Encoding Content-Encoding: gzip Last-Modified: Tue, 31 May :33:46 GMT X-Powered-By: PleskLin Response can be spoofed if request is intercepted by malicious user Response can be altered by intermediary devices, e.g. proxy, web-cache Some headers are part of HTTP standard, others are proprietary.

HTTP Primer About LIR | url(" <link type="text/css" rel="stylesheet" href=" media="all” </script Skip to main content …

HTTP Primer (Selected) HTTP Response Codes: 200 OK 301 Not Modified 302 Found (elsewhere) 401 Not Authorized 403 Forbidden 404 Not Found 502 Bad Gateway 503 Internal Server Error Or no response at all!

HTTP Primer HTTP GET/POST/HEAD GET used primarily for browsing pages, it is the default for links. POST used for submitting forms or content – submitted data present in the body of the request – GET can also be used with forms with query parameter e.g. HEAD is used to fetch header content only – e.g checking cache validity

HTTP Primer Cookies When a web-server returns a response with “set-cookie” the browser is expected to save a cookie and send it with every subsequent request until; – It expires – Web server resets it with new value or new expiry date Cookie content is usually encrypted (not SSL encryption) so that content is only understood by web-server. – Cookies can be guessed, but would require multiple requests Cookies parameter set by web-server – expiry (date in the future when cookie expires) – http-only (only to be used by the browser, not to be used by JavaScript etc.) – domain e.g. ucd.ie (no domain means the current web-server –e.g. lirgroup.heanet.ie – Browser will only send cookies back to hosts within that domain

HTTP Primer Cookies Third party cookies are those included in a response for servers in a different domain than the current domain – A web-server may include additional 3 rd party cookie in its response. – Content for parts of a web-page (e.g. image) may be hosted on another server, browser requests for that content might include a set-cookie response which are considered 3 rd party by the browser 20-25% of users have disabled 3 rd party cookies in their browser.

HTTP Primer SSL A secure webserver has a private encryption key and a public certificate, known as a keypair. The public certificate is signed by a Certificate Authority (CA). CA’s are preconfigured in all browsers. When requesting a https resource… 1.the server sends its public key certificate in the response (and optionally intermediate CA certificates). 2.The browser checks that this certificate is signed by one of its pre-configured CA’s, is still valid (not revoked), matches the website being accessed. 3.A session encryption key is generated for subsequent requests. Certificates have a Subject Name and Subject Alternative Name, the alternative name is used for aliases of the website – This is how proxy servers can act act as a middleman between the browser and server

CSS & JS Dynamic documents CSS and JavaScript used to dynamically render a web-page (e.g. responsive-design) by manipulating the Document Object Model (DOM). XMLHttpRequest used to send requests to the webserver from within a document (e.g. type- ahead fields) – Saves mulitple rounds trips by the user to the webserver

CSS & JS A failure to deliver a CSS file or JS file to a browser will result in usability issues. Failures caused by – human error (e.g. 403) – Browser cache not updated (browser or server) – Timeout delivering content – Server error (e.g. 503) – Proxy error, or untested site via proxy

CSS & JS A failure to render a page can be caused by CSS or JS errors Failures caused by – human error (e.g. typographical) – Old browsers not supporting modern feature – Untested modern browser – Too much content / low powered client

Google Chrome Developer Tools Inspect Request, Response – Headers – Body – Cookies Debug JavaScript Errors Save as HAR file, replay later – – Minus **passwords**

Monitoring Open-source – Icinga/Nagios Use with Graphite to record historical performance, or use Cactii/Munin standalone Commercial – Pingdom Free account allows monitoring of one service – New Relic

Monitoring What to monitor (in order of complexity) 1.Basic up/down 2.Responsiveness/latency 3.Errors loading or rendering pages 4.Simulated login to protected resources 5.Search result performance.