当前位置:网站首页>The process of browser accessing the website
The process of browser accessing the website
2022-07-03 04:49:00 【A rookie who has been studying hard】
The process of browser accessing the website :
1、DNS analysis :
(1) Why DNS analysis ?
Domain name resolution is to point the domain name to the website space IP, Let people through the registered domain name can easily access a website service . For websites , After the process of domain name resolution , Netizens can easily and conveniently visit the website through this domain name . If it is not parsed , The domain name cannot be used normally .
(2) System cache query
(3) Router cache 、ISP cache
(4)DNS recursive query
2、TCP Connect :
(1) Three handshakes
(2) Four breakups
3、HTTP request :
Once complete http Request processing :
(1) Establishing a connection : Receive or reject connection requests
(2) Receiving request : The process of receiving a request for a resource in a client request message
(3) Processing requests : The server parses the request message , And obtain the requested resource and request method and other related information , According to the method , resources , The header and optional body parts handle the request
Common requests Method: GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS
(4) Access resources : The server obtains the resource requested in the request message web The server , That is, it's stored web Resource server , Responsible for providing static resources requested by the other party to the requester , Or resources generated after dynamic operation
(5) Build response message : once Web The server identifies resources in addition to resources , To perform the actions described in the request method , And return the response message . The response message contains the response status code 、 Response head , If the response body is generated , It also includes the response body
1) Response subject : If the transaction produces a response body , Put the content in the response message and send it back . The response message usually includes : Describes the response body MIME Type of Content-Type The first one 、 Describes the length of the response body Content-Length、 The main content of the actual message
2)URL Redirect :web The response of the service build is not a resource requested by the client , It's another access path to the resource
3)MIME type : Web The server is responsible for determining the response subject MIME type . There are many ways to configure the server MIME Type and resource management
(6) Send response message :Web When the server sends data through the connection, it also faces the same problems as receiving data . The server may have many connections to various clients , Some are idle , Some are sending data to the server , Some are sending back response data to clients . The server records the status of the connection , Special attention should also be paid to the handling of persistent connections . For non persistent connections , The server should send the whole message after , Close the connection at this end of yourself . For persistent connections , The connection may remain open , under these circumstances , The server should calculate correctly Content-Length The first one , Otherwise, the client will not know when the response ends
(7) Log : Last , When the transaction ends ,Web The server will add an entry to the log file , To describe the executed transaction
HTTP The status code is used to represent the web server HTTP Responding to the state of 3 Digit code .
common HTTP Status code :
200 ( success ) The server has successfully processed the request . Usually , This means that the server provides the requested web page .
301 ( A permanent move ) The requested page has been permanently moved to a new location . The server returned this response ( Yes GET or HEAD Response to the request ) when , The requester is automatically moved to a new location .
302 ( Temporary movement ) The server is currently responding to requests from pages in different locations , But the requester should continue to use the original location for future requests .
400 ( Wrong request ) The server does not understand the syntax of the request .
403 ( prohibit ) Server rejects request .
404 ( Not found ) The server could not find the requested page .
500 ( Server internal error ) Server encountered an error , Unable to complete request .
502 ( Bad Gateway ) Server as gateway or proxy , Invalid response received from upstream server .
503 ( Service not available ) The server is currently unavailable ( Maintenance due to overload or shutdown ). Usually , It's just a temporary situation .
504 ( gateway timeout ) Server as gateway or proxy , But the request was not received from the upstream server in time .
4、 The rendering principle of browser :
(1) structure DOM
(2) structure CSSOM Trees
(3) Build the render tree
(4) synthesis 、 draw
Browser workflow :
(1) The browser first uses HTTP Agreement or HTTPS agreement , Request a page from the server
(2) Come back with the request HTML The code is parsed , To build a DOM Trees
(3) Calculation DOM On the tree CSS attribute
(4) according to CSS Attribute to render elements one by one , Get the bitmap in memory
(5) An optional step is to synthesize the bitmap , This will greatly increase the speed of subsequent painting
(6) After synthesis , Then draw it on the interface .
The responsibility of the browser process : Mainly responsible for user interaction 、 Sub process management and file storage
Responsibilities of network process : Provide network download function for rendering process and browser process
Responsibility of rendering process : Download from the Internet HTML、JavaScript、CSS、 Pictures and other resources are parsed into pages that can be displayed and interacted
边栏推荐
- Number of uniform strings of leetcode simple problem
- Reptile exercise 03
- The least operation of leetcode simple problem makes the array increment
- Market status and development prospect prediction of the global fire alarm sensor industry in 2022
- 2022 t elevator repair simulation examination question bank and t elevator repair simulation examination question bank
- Two drawing interfaces - 1 Matlab style interface
- Pyqt control part (II)
- General undergraduate college life pit avoidance Guide
- Learning practice: comprehensive application of cycle and branch structure (I)
- Introduction to JVM principle
猜你喜欢
Sdl2 + OpenGL glsl practice (Continued)
The simple problem of leetcode: dismantling bombs
带有注意力RPN和多关系检测器的小样本目标检测网络(提供源码和数据及下载)...
2022 registration of G2 utility boiler stoker examination and G2 utility boiler stoker reexamination examination
Learn to use the idea breakpoint debugging tool
Learning practice: comprehensive application of cycle and branch structure (I)
Truncated sentences of leetcode simple questions
Career planning of counter attacking College Students
Prepare for 2022 and welcome the "golden three silver four". The "summary of Android intermediate and advanced interview questions in 2022" is fresh, so that your big factory interview can go smoothly
2022 new examination questions for the main principals of hazardous chemical business units and examination skills for the main principals of hazardous chemical business units
随机推荐
ZABBIX monitoring of lamp architecture (2): ZABBIX basic operation
JVM原理简介
The simple problem of leetcode: dismantling bombs
Retirement plan fails, 64 year old programmer starts work again
Market status and development prospect prediction of the global fire hose industry in 2022
Reptile exercise 02
Sdl2 + OpenGL glsl practice (Continued)
[luatos sensor] 2 air pressure bmp180
论文阅读_ICD编码_MSMN
[luatos sensor] 1 light sensing bh1750
After reviewing MySQL for a month, I was stunned when the interviewer of Alibaba asked me
After job hopping at the end of the year, I interviewed more than 30 companies in two weeks and finally landed
2022 new examination questions for the main principals of hazardous chemical business units and examination skills for the main principals of hazardous chemical business units
Market status and development prospects of the global autonomous marine glider industry in 2022
[BMZCTF-pwn] 18-RCTF-2017-Recho
MySQL winter vacation self-study 2022 12 (3)
Summary of training competition (Lao Li's collection of questions)
C primre plus Chapter 10 question 6 inverted array
Literature reading_ Research on the usefulness identification of tourism online comments based on semantic fusion of multimodal data (Chinese Literature)
I've been in software testing for 8 years and worked as a test leader for 3 years. I can also be a programmer if I'm not a professional