http基础

author author     2022-08-06     134

关键词:

Web基础:

1.1网络基础tcp/ip

计算机两边想要通信,双方就要基于相同的方法。基于c/s机制,确定谁是客户端,服务端。不同的硬件,操作系统之间的通信,所有的一切需要一种规则,我们就把这种规则称为协议。

协议中存在各种各样的内容,像这样把相关联的协议集合起来总称为tcp/ip


技术分享


利用tcp/ip通信,发送方会从上往下走,发送到服务器端在从下网上走。

 

首先服务器方要先启动,并根据请示提供相应服务:

1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。

2、在传输层把从应用层接受到的请求报文分割,

3、接收到重复服务请求,处理该请求并发送应答信号。

4、返回第二步,等待另一客户请求

5、关闭服务器。

 

tcp协议:面向连接协议,可靠,稳定。通信前建立链路,结束后拆除链路。端口范围:0-65535

udp协议:无连接协议,速度快。端口范围:0-65535

IANA:

0-1023:永久的分配给固定的应用使用:

1024-41951:注册端口,要求并不是特别严格,分配给程序注册为某应用使用。

 

套接字

Socket:ipc的一种实现:允许位于不同主机(甚至同一主机)上,不同进程之间通信,实现数据交换。

tcp套接字:SOCK_STREAM 

udp套接字:SOCK_DGRAM 

裸套接字:SOCK_RAM

 

tcp协议的特性

tcp位于传输层,提供可靠的字节流服务:

字节流服务:将大块数据分割成以报文段为单位的数据包进行管理。

可靠性传输:采用三次握手策略,当tcp把数据包传送过去之后,会确认数据包是否到达。如果数据包莫名中断,tcp协议会再次发送相同数据包。

 

技术分享

 

套接字系统调用:

socket():创建一个套接字;

bind():绑定

listen():监听

accept():接收请求

connect():请求连接建立

write():发送

read():接收

send(),rcv(),sendto(),recvfrom()

 

网页基础知识:

http:hyper text transfer protocol

Html:编程语言,超文本标记语言;

<html>

<head>

<title>TITLE</title>

</head>

<body>

<h1></h1>

<p>blabla <a href=http://www.a.com/log.jpg>blabla</a></p>

 

</body>

</html>

 

CSS:层叠样式表

Js:javascript

 

URL和URI

URL:(Uniform Resource Locator)统一资源定位符

URI:(Uniform Resource ldentifier)同一资源标识符

URI的格式:

scheme://user:[email protected]:80/html/index.html.uid=1#ch1

方案名 // 用户名,密码@主机名称:端口/带层次的文件路径?查询字段#片段标识符

 

 

http协议版本:

http/0.9:原型版本

http/1.0:

http/1.1:

http/2.0

 

1.2http请求模型:

http协议是客户端发送请求,服务器端回应。

技术分享


 

一次完整的http请求;

1.建立请求

持久连接

非持久连接

2.接收请求:

接受来自网络的请求报文中对某一个请求的过程:

并发响应模型(web I/O):

单进程I/O结构:启动一个处理用户请求,而且一次只处理1个,多个请求被串行响应:

多进程I/O结构:并行启动多个进程,每个进程响应一个请求

复用I/O结构:一个进程响应多个请求:

多线程模型:一个进程生成多个线程,每个线程响应多个请求;

事件驱动

复用的多进程I/O结构:启动多个(m)进程,每个进程响应n个请求;

 

3.处理了请求:对请求报文进行分析,并获取请求的资源以及请求的方法相关信息

元数据:请求报文首部

<method><URL><VERSION>

Host:www.a.com 请求的主机名称

Connection:

 

4.访问资源:获取请求报文中请求的资源

web服务器,既存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源,这些资源放在本地某个路径下,此路径称为DocRoot

/var/www/html/image/Log.jpg

www.a.com/image/Log.jpg

 

web服务器资源路径映射方式:

DocRoot

Alias

虚拟主机DocRoot

用户家目录DocRoot

 

5.创建响应报文

资源MIME类型:

显示分类:

魔法分类:

协商分类:

重定向:

web服务器构建响应并非客户端请求的资源,而是资源另外一个访问路径

 

6.发送响应报文

 

7.记录日志

 

http服务器程序:

httpd(apache

Nginx

 

应用程序服务器:

IIS

Tomcat,jetty

 

httpd的特性:

高度模块化:core+modules

DSO:dynamic shared o‘bject

MPM:多线程处理模块

Prefork:多进程模型,每个进程响应一个请求:

一个主进程,负责生成n个子进程,子进程也成为工作进程,每个子进程处理一个用户请求,即使没有用户请求,也会预先生成多个空闲进程,随时等待请求到达,最大不会超过1024个。

 

Worker:多线程模型,每个线程响应一个请求;

一个主进程:生成多个子进程,每个子进程负责生成多个线程,每个线程响应一个请求;

m进程,n线程:m*n

 

Event:事件驱动模型,每个线程响应n个请求:(httpd-2.4)

一个主进程:生成n个子进程,每个子进程直接n个请求;

m*n

 

httpd的功能特性:

虚拟主机

Ip,portFQDN

CGI:通用网关接口 实在动态页面的技术。

反向代理

负载均衡

路径别名

丰富的认证机制:basicdigest

支持第三方模块

 

 

 


本文出自 “眼眸刻着你的微笑” 博客,请务必保留此出处http://dengaosky.blog.51cto.com/9215128/1856587

http基础知识

 HTTP基础知识(六) 六、HTTP首部 1、HTTP请求报文:由方法、URI、HTTP版本、HTTP首部字段等部分构成。HTTP响应报文由HTTP版本、状态码、HTTP首部字段构成。HTTP首部字段主要用于传递额外信息(如:报文主体大小、所使... 查看详情

http基础实战

1.需求了解http的基础知识,能看懂chrome下网络的情况2.前置知识下面是tcp/ip协议的一些东西,今天就只用了解应用层的http就够了。3.http是什么我们在网上浏览网页,会发送一个http请求给服务器,服务端识别了这个http请求会返回... 查看详情

基础2——http

...补充:为什么要学习http? 答:http协议是javaweb开发的基础。每一个请求和响应是web开发的最基本的操作。 1.2http的作用和特点 1.3http协议的组成&n 查看详情

http连接基础类,负责底层的http通信

///<summary>///http连接基础类,负责底层的http通信///</summary>publicclassHttpService{publicstaticboolCheckValidationResult(objectsender,X509Certificatecertificate,X509Chainchain,SslPolicyErrorserrors){ 查看详情

爬虫基础-http请求的基础知识

...fiddler知识的地址:http://kb.cnblogs.com/page/130367/下面普及最基础的知识:Http请求。(下面知识来源 查看详情

webservice之http基础原理

WebService之http基础原理=========================================================================概述:网络通信基础★进程间通信:IPC     Socket(套接字):ip:port★Client<-->Server    查看详情

网络基础之http

Http2与Http1.1区别1.多路复用http2开始,同域名下的http请求可以使用同一个tcp连接并行传输数据。tcp连接建立后,会有一个慢开始过程,即数据传输速度由慢变快。http请求复用tcp连接后,就不需要重新建立tcp,从而可以保持高速传... 查看详情

http基础

HTTP简介HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。HTTP是一... 查看详情

httpd学习:http基础

http:hypertexttransferprotocol,80tcphtml:编程语言,超文本标记语言;CSS:CascadingStyleSheet,层叠样式表js:javascript,客户端脚本MIME:MultipurposeInternetMailExtesion工作机制:http请求http响应Web资源:webresource静态文件:.jpg,.gif,.html,.txt,. 查看详情

http基础知识

接着上一章的内容:HTTP基础知识(一) 二、简单的HTTP协议1、客户端:请求访问文本或图像等资源的一端称为客户端;服务器端:提供资源响应的一端 2、以百度为例子这是请求头: 在起始行开头的HTTP/1.1表示服务器... 查看详情

爬虫基础2.1http原理

爬虫基础2.1http基础原理 写爬虫为啥要了解http的原理?为了简要的理解http的请求响应过程,便于爬虫的流程的掌握。2.11URL和URL????URI:统一资源标志符号????URN:统一资源名称命名资源????URL:统一资源定位符号指定资源访问位置... 查看详情

爬虫基础2.1http原理

爬虫基础2.1http基础原理 写爬虫为啥要了解http的原理?为了简要的理解http的请求响应过程,便于爬虫的流程的掌握。2.11URL和URL????URI:统一资源标志符号????URN:统一资源名称命名资源????URL:统一资源定位符号指定资源访问位置... 查看详情

爬虫基础2.1http原理

爬虫基础2.1http基础原理 写爬虫为啥要了解http的原理?为了简要的理解http的请求响应过程,便于爬虫的流程的掌握。2.11URL和URL????URI:统一资源标志符号????URN:统一资源名称命名资源????URL:统一资源定位符号指定资源访问位置... 查看详情

http协议基础

第1章http协议1.1http协议简介HTTP协议全称HyperTextTransferProtocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议,HTTP的重要应用之一是www服务,设计HTTP最初的目的就是提供一种发布和接收HTML页面的方法。HTTP协议是互... 查看详情

http基础知识

HTTP连接过程请求方法请求头HTTPRequestHeader请求头状态码报文结构cookie、session和tokencookiesessionTokenhttp://www.runoob.com/http/http-messages.htmlHTTP连接过程?请求方法请求方法类型描述GET请求指定的页面信息,并返回实体主体。POST向指定资源... 查看详情

http协议基础

前言:  上一篇博文说到了,主机间通过调用套接字方式相互通信;应用层协议基于通讯子网进行通讯。  一、版本迭代:   http(hypertexttransferprotocol)即为超文本传输协议,基于HTML编程语言开发的文本即为超文本。起... 查看详情

http基础术语

HTTP:超文本传输协议,Web浏览器、Web服务器、Web应用程序都是通过HTTP来互相通信的HTTP客户端:最常用的HTTP客户端就是Web浏览器,Web浏览器向服务器请求HTTP对象,并将这些对象显示在你的屏幕上HTTP服务器:Web内容都是存储在HTT... 查看详情

http基础知识

1 HTTP协议简介2 用户访问网站的过程3 常见的HTTP请求方法4 HTTP状态码5生产环境常见的状态码 6媒体资源类型7 静态和动态网页介绍8 网络访问统计方法9PV和UV1 HTTP协议简介HTTP协议,全称HyperTextTransferPro... 查看详情